Package org.tentackle.persist.wurblet
Class WurbletArgumentExpression
- java.lang.Object
-
- org.tentackle.persist.wurblet.WurbletArgumentExpression
-
- All Implemented Interfaces:
WurbletArgumentOperand
public class WurbletArgumentExpression extends java.lang.Object implements WurbletArgumentOperand
An expression of wurblet arguments or other expressions.- Author:
- harald
-
-
Constructor Summary
Constructors Constructor Description WurbletArgumentExpression(WurbletArgumentExpression parent)Creates a new expression.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WurbletArgumentOperatoraddOperand(WurbletArgumentOperator operator, WurbletArgumentOperand operand)Adds an operand.java.util.List<JoinPath>getMergedPaths()Gets the paths for wurblet arguments which can be expressed in a single SQL EXISTS clause.
The returned list is empty, if there are no paths at all or each argument needs its own EXISTS clause.java.util.List<WurbletArgumentOperand>getOperands()Gets the n operands.java.util.List<WurbletArgumentOperator>getOperators()Gets the n-1 operators.WurbletArgumentExpressiongetParent()Gets the parent expression.booleanneedParenthesesAfterAndOperator()Returns whether expression must be enclosed in parentheses after an AND operator.java.lang.StringtoCode(CodeGenerator<java.lang.Object> generator)Generates the code.java.lang.StringtoString()
-
-
-
Constructor Detail
-
WurbletArgumentExpression
public WurbletArgumentExpression(WurbletArgumentExpression parent)
Creates a new expression.- Parameters:
parent- optional parent expression, null if this is the top level expression
-
-
Method Detail
-
getParent
public WurbletArgumentExpression getParent()
Gets the parent expression.- Returns:
- the parent, null if top level
-
getOperands
public java.util.List<WurbletArgumentOperand> getOperands()
Gets the n operands.- Returns:
- the operands
-
getOperators
public java.util.List<WurbletArgumentOperator> getOperators()
Gets the n-1 operators.- Returns:
- the operators
-
getMergedPaths
public java.util.List<JoinPath> getMergedPaths()
Gets the paths for wurblet arguments which can be expressed in a single SQL EXISTS clause.
The returned list is empty, if there are no paths at all or each argument needs its own EXISTS clause.- Returns:
- the paths, empty if none, never null
-
addOperand
public WurbletArgumentOperator addOperand(WurbletArgumentOperator operator, WurbletArgumentOperand operand) throws org.wurbelizer.wurbel.WurbelException
Adds an operand.- Parameters:
operator- the operator, null defaults to ADDoperand- the operand- Returns:
- the operator, null if start of expression
- Throws:
org.wurbelizer.wurbel.WurbelException- if failed
-
needParenthesesAfterAndOperator
public boolean needParenthesesAfterAndOperator()
Returns whether expression must be enclosed in parentheses after an AND operator.- Returns:
- true need parentheses
-
toCode
public java.lang.String toCode(CodeGenerator<java.lang.Object> generator) throws org.wurbelizer.wurbel.WurbelException
Generates the code.- Parameters:
generator- the code generator- Returns:
- the generated code
- Throws:
org.wurbelizer.wurbel.WurbelException- if code generation failed
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-