public class RelationQueryNode extends NAryQueryNode<QueryNode> implements QueryConstants
| Modifier and Type | Field and Description |
|---|---|
static Name |
STAR_NAME_TEST
Acts as an synthetic placeholder for a location step that matches any
name.
|
operandsTYPE_AND, TYPE_DEREF, TYPE_EXACT, TYPE_LOCATION, TYPE_NODETYPE, TYPE_NOT, TYPE_OR, TYPE_ORDER, TYPE_PATH, TYPE_PROP_FUNCTION, TYPE_RELATION, TYPE_ROOT, TYPE_TEXTSEARCHOP_NAME_BETWEEN, OP_NAME_EQ_GENERAL, OP_NAME_EQ_VALUE, OP_NAME_GE_GENERAL, OP_NAME_GE_VALUE, OP_NAME_GT_GENERAL, OP_NAME_GT_VALUE, OP_NAME_IN, OP_NAME_LE_GENERAL, OP_NAME_LE_VALUE, OP_NAME_LIKE, OP_NAME_LT_GENERAL, OP_NAME_LT_VALUE, OP_NAME_NE_GENERAL, OP_NAME_NE_VALUE, OP_NAME_NOT_NULL, OP_NAME_NULL, OP_NAME_SIMILAR, OP_NAME_SPELLCHECK, OP_NAME_UNKNOW, OPERATION_BETWEEN, OPERATION_EQ_GENERAL, OPERATION_EQ_VALUE, OPERATION_GE_GENERAL, OPERATION_GE_VALUE, OPERATION_GT_GENERAL, OPERATION_GT_VALUE, OPERATION_IN, OPERATION_LE_GENERAL, OPERATION_LE_VALUE, OPERATION_LIKE, OPERATION_LT_GENERAL, OPERATION_LT_VALUE, OPERATION_NAMES, OPERATION_NE_GENERAL, OPERATION_NE_VALUE, OPERATION_NOT_NULL, OPERATION_NULL, OPERATION_SIMILAR, OPERATION_SPELLCHECK, OPERATIONS, TYPE_DATE, TYPE_DOUBLE, TYPE_LONG, TYPE_NAME_DATE, TYPE_NAME_DOUBLE, TYPE_NAME_LONG, TYPE_NAME_POSITION, TYPE_NAME_STRING, TYPE_NAME_TIMESTAMP, TYPE_NAME_UNKNOWN, TYPE_NAMES, TYPE_POSITION, TYPE_STRING, TYPE_TIMESTAMP| Modifier | Constructor and Description |
|---|---|
protected |
RelationQueryNode(QueryNode parent,
int operation,
QueryNodeFactory factory)
Creates a new
RelationQueryNode without a type nor value
assigned. |
| Modifier and Type | Method and Description |
|---|---|
Object |
accept(QueryNodeVisitor visitor,
Object data)
Accepts a
QueryNodeVisitor and calls the appropriate visit
method on the visitor depending on the concrete implementation of
this QueryNode. |
void |
addPathElement(Path.Element element)
Adds a path element to the existing relative path.
|
boolean |
equals(Object obj)
Returns
true if obj is the same type of
QueryNode as this node and is equal to
this node. |
Date |
getDateValue()
Returns the
Date value if this relation if of type
QueryConstants.TYPE_DATE. |
double |
getDoubleValue()
Returns the
double value if this relation if of type
QueryConstants.TYPE_DOUBLE. |
long |
getLongValue()
Returns the
long value if this relation if of type
QueryConstants.TYPE_LONG. |
int |
getOperation()
Returns the operation type.
|
int |
getPositionValue()
Returns the
int position index value if this relation is
of type QueryConstants.TYPE_POSITION. |
PathQueryNode |
getRelativePath() |
String |
getStringValue()
Returns the
String value if this relation if of type
QueryConstants.TYPE_STRING. |
int |
getType()
Returns the type of this node.
|
int |
getValueType()
Returns the type of the value.
|
void |
setDateValue(Date value)
Sets a new value of type
Date. |
void |
setDoubleValue(double value)
Sets a new value of type
double. |
void |
setLongValue(long value)
Sets a new value of type
long. |
void |
setPositionValue(int value)
Sets a new value for the position index.
|
void |
setRelativePath(Path relPath)
Sets the relative path to the property in this relation.
|
void |
setStringValue(String value)
Sets a new value of type
String. |
void |
setUnaryMinus(boolean b)
If
b is true then the value in this relation
node contains a receding unary minus. |
acceptOperands, addOperand, getNumOperands, getOperands, needsSystemTree, removeOperandpublic static final Name STAR_NAME_TEST
protected RelationQueryNode(QueryNode parent, int operation, QueryNodeFactory factory)
RelationQueryNode without a type nor value
assigned.parent - the parent node for this query node.operation - the operation.factory - the query node factory.public Object accept(QueryNodeVisitor visitor, Object data) throws RepositoryException
QueryNodeVisitor and calls the appropriate visit
method on the visitor depending on the concrete implementation of
this QueryNode.accept in class QueryNodevisitor - the visitor to call back.data - arbitrary data for the visitor.visitor.visit() call.RepositoryExceptionpublic int getType()
public void setUnaryMinus(boolean b)
b is true then the value in this relation
node contains a receding unary minus.b - true if this relation contains a unary minus.public int getValueType()
public PathQueryNode getRelativePath()
public void setRelativePath(Path relPath)
relPath - the relative path to a property.IllegalArgumentException - if relPath is absolute.public void addPathElement(Path.Element element)
STAR_NAME_TEST.element - the path element to append.public long getLongValue()
long value if this relation if of type
QueryConstants.TYPE_LONG.long value.public void setLongValue(long value)
long.value - the new value.public int getPositionValue()
int position index value if this relation is
of type QueryConstants.TYPE_POSITION.public void setPositionValue(int value)
value - the new value.public double getDoubleValue()
double value if this relation if of type
QueryConstants.TYPE_DOUBLE.double value.public void setDoubleValue(double value)
double.value - the new value.public String getStringValue()
String value if this relation if of type
QueryConstants.TYPE_STRING.String value.public void setStringValue(String value)
String.value - the new value.public Date getDateValue()
Date value if this relation if of type
QueryConstants.TYPE_DATE.Date value.public void setDateValue(Date value)
Date.value - the new value.public int getOperation()
public boolean equals(Object obj)
true if obj is the same type of
QueryNode as this node and is equal to
this node.equals in class NAryQueryNode<QueryNode>obj - the reference object with which to compare.true if obj is equal to
this; false otherwise.Copyright © 2004–2021 The Apache Software Foundation. All rights reserved.