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

public final class LogicalMultiAnd
extends `LogicalOperator`

Implementation of the LogicalMultiAnd operator. This operator allows an array of operands to be ANDed together. Each operand should either be a Boolean or an Expression which evaluates to a Boolean.
Input 1-N: A Boolean (or Expression returning a Boolean).
Returns: A Boolean( IN(1) && IN(2) && IN(3) etc. ).

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

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

## Field Summary

Fields from com.bea.p13n.expression.operator.logical`.`LogicalOperator``
``BINARY_PARAMETER_SIGNATURE`, `UNARY_PARAMETER_SIGNATURE``

## Constructor Summary

LogicalMultiAnd() Constructs an empty operator and operands can be added later by calling addSubExpression() on this.
LogicalMultiAnd(`Object` andArray) Constructs a LogicalMultiAnd operator by storing the given array of parameters as its operands.

## Method Summary

`public `Class`[]` | `getParameterSignature`() Returns the parameter signature for this `Expression`.

Methods from `com.bea.p13n.expression.operator.logical.`LogicalOperator``
``updateParameterSignature``

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

## Constructor Detail

### LogicalMultiAnd

    public LogicalMultiAnd()

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

### LogicalMultiAnd

    public LogicalMultiAnd(Object[] andArray)

  Constructs a LogicalMultiAnd operator by storing the given array of parameters as its operands.

## Method Detail

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