# com.bea.p13n.expression.operator
Instanceof Class

public final class Instanceof
extends `Operator`
implements `BinaryOperator`

Implementation of the Instanceof operator. Returns a Boolean if the Object parameter (which can be an expression) is an instance of a class type.
Input 1: An object or Expression returning an object.
Input 2: A Class or an Expression returning a Class
Returns: A Boolean that is the result of testing the object against the Class.

Hierarchy
  `Object`
  `ComplexExpressionImpl`
  `Operator`
  `Instanceof`

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

## Constructor Summary

Instanceof() Constructs an empty operator and operands can be added later by calling addSubExpression() on this.
Instanceof(`Object` obj, `Class` clazz) Constructs this by associating the given parameters as operands.

## Method Summary

`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 `Object`` | `getTargetClass`() Returns Class operand of this operator.
`public `Object`` | `getTargetObject`() Returns Object operand of this operator.

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

Methods from `com.bea.p13n.expression.internal.`ComplexExpressionImpl``
`addListener, addSubExpression, clearCache, clone, createProxyExpression, equals, getCachedValue, getParent, getSource, getSubExpression, getSubExpressionCount, getUserData, hashCode, 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``

## Constructor Detail

### Instanceof

    public Instanceof()

  Constructs an empty operator and operands can be added later by calling addSubExpression() on this.

### Instanceof

    public Instanceof(Object obj,
                      Class clazz)

  Constructs this by associating the given parameters as operands.

## Method Detail

### 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.

### getTargetClass() Method

    public Object getTargetClass()

Returns Class operand of this operator.

#### Returns

Object representing a `Class` operand of this.

### getTargetObject() Method

    public Object getTargetObject()

Returns Object operand of this operator.

#### Returns

Object An `Object` or `Expression` that is used as an Object operand of this.