# com.bea.p13n.expression.operator.string
StringLike Class

public class StringLike
extends `StringOperator`
implements `BinaryOperator`

A class for representing "like" operator that is operated on the supplied two strings. It accepts two strings `firstString` and `secondString`. The evaluation of this operator should return `true` if ((firstString.toUpperCase()).indexOf( (secondString.toUpperCase())) > -1), otherwise return `false`.

Hierarchy
  `Object`
  `ComplexExpressionImpl`
  `Operator`
  `StringOperator`
  `StringLike`

All Implemented Interfaces
  `BinaryOperator`, `Cloneable`, `Expression`, `Serializable`

## Field Summary

`protected boolean` | `caseInsensitiveMatch` boolean

Fields from com.bea.p13n.expression.operator.string`.`StringOperator``
``BINARY_PARAMETER_SIGNATURE`, `UNARY_PARAMETER_SIGNATURE``

Fields from interface com.bea.p13n.expression.operator`.`BinaryOperator``
``LHS_INDEX`, `RHS_INDEX``

## Constructor Summary

StringLike()
StringLike(`Object` firstString, `Object` secondString, boolean patternMatchIgnoreCase)
StringLike(`Object` firstString, `Object` secondString)

## Method Summary

`public boolean` | `equals`(`Object` o) Override to check the caseInsensitiveMatch flag as well.
`public `Object`` | `getLeftHandSide`() Returns left hand side operand of this binary operator.
`public `Class`[]` | `getParameterSignature`() Returns the parameter signature for this `Expression`.
`public `Object`` | `getRightHandSide`() Returns right hand side operand of this binary operator.
`public int` | `hashCode`() Override to check the caseInsensitiveMatch flag as well.
`public boolean` | `isCaseInsensitiveMatch`()

Methods from `com.bea.p13n.expression.operator.`Operator``
``leftHandSide`, `operand`, `rightHandSide``

Methods from `com.bea.p13n.expression.internal.`ComplexExpressionImpl``
`addListener, addSubExpression, clearCache, clone, createProxyExpression, getCachedValue, getParent, getSource, getSubExpression, getSubExpressionCount, getUserData, isCached, isCacheEnabled, isEqualitySubExpression, notifyListeners, removeAllSubExpressions, removeListener, removeSubExpression, removeSubExpression, setCachedValue, setCacheEnabled, setParent, setSource, setSubExpression, setUserData, toString, write`

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `com.bea.p13n.expression.operator.`BinaryOperator``
``getLeftHandSide`, `getRightHandSide``

Methods from interface `com.bea.p13n.expression.`Expression``
``accept`, `addListener`, `addSubExpression`, `clearCache`, `clone`, `getCachedValue`, `getParameterSignature`, `getParent`, `getSource`, `getSubExpression`, `getSubExpressionCount`, `getUserData`, `isCached`, `isCacheEnabled`, `removeAllSubExpressions`, `removeListener`, `removeSubExpression`, `removeSubExpression`, `setCachedValue`, `setCacheEnabled`, `setSource`, `setSubExpression`, `setUserData`, `write``

## Field Detail

### caseInsensitiveMatch

    protected boolean caseInsensitiveMatch

## Constructor Detail

### StringLike

    public StringLike()

### StringLike

    public StringLike(Object firstString,
                      Object secondString,
                      boolean patternMatchIgnoreCase)

### StringLike

    public StringLike(Object firstString,
                      Object secondString)

## Method Detail

### equals(Object) Method

    public boolean equals(Object o)

Override to check the caseInsensitiveMatch flag as well.

Overrides
  ComplexExpressionImpl.equals(Object)

### getLeftHandSide() Method

    public Object getLeftHandSide()

Description copied from `BinaryOperator.getLeftHandSide()`
Returns left hand side operand of this binary operator.

#### Returns

The left hand side operand.

### getParameterSignature() Method

    public Class[] getParameterSignature()

Description copied from `Expression.getParameterSignature()`
Returns the parameter signature for this `Expression`. Because the sub-expressions within the `Expression` are typically arguments or operands, some type validation is performed by examining the class types of the sub-expressions against the `Expression`'s parameter signature.
The tests that are performed are:
1. The number of sub-expressions must equals the number of parameter entries.
2. The class type of any sub-expression (or the result of evaluating the sub-expresssion) must equal the class type of the corresponding parameter entry.
3. Any null parameter entries are ignored and are considered optional sub-expressions.

#### Returns

the Class array containing the parameter signature.

### getRightHandSide() Method

    public Object getRightHandSide()

Description copied from `BinaryOperator.getRightHandSide()`
Returns right hand side operand of this binary operator.

#### Returns

The left hand side operand.

### hashCode() Method

    public int hashCode()

Override to check the caseInsensitiveMatch flag as well.

Overrides
  ComplexExpressionImpl.hashCode()

### isCaseInsensitiveMatch() Method

    public boolean isCaseInsensitiveMatch()