Package org.eclipse.rdf4j.query.algebra
Class If
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.If
-
- All Implemented Interfaces:
Serializable
,Cloneable
,GraphPatternGroupable
,QueryModelNode
,ValueExpr
,VariableScopeChange
public class If extends AbstractQueryModelNode implements ValueExpr
The IF function, as defined in SPARQL 1.1 Query.- Author:
- Jeen Broekstra
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description If
clone()
Returns a (deep) clone of this query model node.boolean
equals(Object other)
Returns true if this query model node and its children are recursively equal to o and its children.ValueExpr
getAlternative()
ValueExpr
getCondition()
Gets the argument of this unary value operator.ValueExpr
getResult()
int
hashCode()
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.void
setAlternative(ValueExpr alternative)
void
setCondition(ValueExpr condition)
Sets the condition argument of this unary value operator.void
setResult(ValueExpr result)
<X extends Exception>
voidvisit(QueryModelVisitor<X> visitor)
Visits this node.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
-
-
-
-
Method Detail
-
getCondition
public ValueExpr getCondition()
Gets the argument of this unary value operator.- Returns:
- The operator's argument.
-
setCondition
public void setCondition(ValueExpr condition)
Sets the condition argument of this unary value operator.- Parameters:
condition
- The (new) condition argument for this operator, must not be null.
-
visit
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits this node. The node reports itself to the visitor with the proper runtime type.- Specified by:
visit
in interfaceQueryModelNode
- Throws:
X extends Exception
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from class:AbstractQueryModelNode
Dummy implementation ofQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing. Subclasses should override this method when they have child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Overrides:
visitChildren
in classAbstractQueryModelNode
- Throws:
X extends Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from class:AbstractQueryModelNode
Default implementation ofQueryModelNode.replaceChildNode(QueryModelNode, QueryModelNode)
that throws anIllegalArgumentException
indicating that current is not a child node of this node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Overrides:
replaceChildNode
in classAbstractQueryModelNode
- Parameters:
current
- The current child node.replacement
- The new child node.
-
equals
public boolean equals(Object other)
Description copied from interface:QueryModelNode
Returns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equals
in interfaceQueryModelNode
- Overrides:
equals
in classObject
-
clone
public If clone()
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceValueExpr
- Overrides:
clone
in classAbstractQueryModelNode
- Returns:
- A deep clone of this query model node.
-
setResult
public void setResult(ValueExpr result)
- Parameters:
result
- The result to set.
-
getResult
public ValueExpr getResult()
- Returns:
- Returns the result.
-
setAlternative
public void setAlternative(ValueExpr alternative)
- Parameters:
alternative
- The alternative to set.
-
getAlternative
public ValueExpr getAlternative()
- Returns:
- Returns the alternative.
-
-