O1
- The type of the first operand.O2
- The type of the second operand.O3
- The type of the third operand.R
- The type of the result.public abstract class TrinaryExpression<O1,O2,O3,R> extends PassiveExpression<R>
UnaryExpression
, but with three operands.Constructor and Description |
---|
TrinaryExpression(Expression<? extends O1> firstOperand,
Expression<? extends O2> secondOperand,
Expression<? extends O3> thirdOperand,
TriFunction<? super O1,? super O2,? super O3,? extends R> operation) |
Modifier and Type | Method and Description |
---|---|
protected R |
evaluate() |
Expression<? extends O1> |
getFirstOperand() |
TriFunction<? super O1,? super O2,? super O3,? extends R> |
getOperation() |
Expression<? extends O2> |
getSecondOperand() |
Expression<? extends O3> |
getThirdOperand() |
getValue, invalidations
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
anonymize, decoupleValue, immutable, over, over
public TrinaryExpression(Expression<? extends O1> firstOperand, Expression<? extends O2> secondOperand, Expression<? extends O3> thirdOperand, TriFunction<? super O1,? super O2,? super O3,? extends R> operation)
firstOperand
- An expression providing the first operand for the function.secondOperand
- An expression providing the second operand for the function.thirdOperand
- An expression providing the third operand for the function.operation
- A expression providing a function transforming the operands into a
value of this expression's type.public Expression<? extends O1> getFirstOperand()
public Expression<? extends O2> getSecondOperand()
public Expression<? extends O3> getThirdOperand()
public TriFunction<? super O1,? super O2,? super O3,? extends R> getOperation()
protected R evaluate()
evaluate
in class PassiveExpression<R>
Expression
as derived from the dependency
Expression
s.