# com.bea.p13n.expression.operator.logical
LogicalOperator Class

public abstract class LogicalOperator
extends `Operator`

Implementation of the LogicalOperator operator. Base class for all LogicalOperators.

Hierarchy
  `Object`
  `ComplexExpressionImpl`
  `Operator`
  `LogicalOperator`

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

Direct Known Subclasses
  `LogicalAnd`, `LogicalMultiAnd`, `LogicalMultiOr`, `LogicalNot`, `LogicalOr`

## Field Summary

`protected static final `Class`` | `BINARY_PARAMETER_SIGNATURE` Class
`protected static final `Class`` | `UNARY_PARAMETER_SIGNATURE` Class

## Constructor Summary

LogicalOperator() A default constructor that can used by multi-operand operators.
LogicalOperator(`Object` lhs, `Object` rhs) Allocates a `LogicalOperator` by associating the given two operands.
LogicalOperator(`Object` operand) Allocates a `LogicalOperator` by associating the given single operand.
LogicalOperator(`Object` operands) Allocates a `LogicalOperator` by associating the given array of of operands.

## Method Summary

`protected static `Class`[]` | `updateParameterSignature`(int subExpressionCount, `Class`[] oldSignature) Returns a new parameter signature array for the given sub-expression count and old parameter signature array.

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

### BINARY_PARAMETER_SIGNATURE

    protected static final Class BINARY_PARAMETER_SIGNATURE

### UNARY_PARAMETER_SIGNATURE

    protected static final Class UNARY_PARAMETER_SIGNATURE

## Constructor Detail

### LogicalOperator

    protected LogicalOperator()

  A default constructor that can used by multi-operand operators.

### LogicalOperator

    protected LogicalOperator(Object lhs,
                              Object rhs)

  Allocates a `LogicalOperator` by associating the given two operands.

### LogicalOperator

    protected LogicalOperator(Object operand)

  Allocates a `LogicalOperator` by associating the given single operand.

### LogicalOperator

    public LogicalOperator(Object[] operands)

  Allocates a `LogicalOperator` by associating the given array of of operands.

## Method Detail

### updateParameterSignature(int, Class[]) Method

    protected static Class[] updateParameterSignature(int subExpressionCount,
                                                    Class[] oldSignature)

Returns a new parameter signature array for the given sub-expression count and old parameter signature array.

#### Parameters

subExpressionCount
  The new number of sub-expressions.

oldSignature
  The `Class` array representing the the old parameter signature for the given operator.