public class PathNode extends ParseTreeNode
There's some parsing going on here as well, just because the path expression has some special syntax for special needs which I don't want to pollute into the 'pure' OQL expression parsing.
| Modifier and Type | Class and Description |
|---|---|
static class |
PathNode.HstoreExtractionMode |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
VIRTUAL_ARRAY_MODIFIER_KEYS |
static java.lang.String |
VIRTUAL_ARRAY_MODIFIER_VALUES |
| Constructor and Description |
|---|
PathNode(Parser parser,
QueryNameSpace nameSpace,
boolean shortcutJoins,
java.lang.String explicitRootAlias,
boolean registerInNameSpace) |
PathNode(ParseTreeNode parent,
Parser parser,
QueryNameSpace nameSpace,
boolean shortcutJoins) |
PathNode(java.lang.String[] path,
QueryNameSpace nameSpace,
boolean shortcutJoins) |
PathNode(java.lang.String s,
Parser parser,
QueryNameSpace nameSpace,
boolean shortcutJoins) |
| Modifier and Type | Method and Description |
|---|---|
void |
addChild(ParseTreeNode child)
Adds a new node as a child of this node.
|
void |
addPathPart(PathPart part) |
void |
addPathPart(java.lang.String name,
boolean nullsafeDotted,
java.lang.String typeCast,
boolean only) |
void |
appendDebugString(java.lang.StringBuilder s)
appends a String representation of this node including it's children to the given StringBuilder
|
boolean |
endsWithAnchor() |
de.ipcon.db.oql.TableSurrogate |
getAnchor() |
EntityI |
getAnchorEntity() |
AttributeI |
getAttributeOfLastPathPart() |
ParseTreeNode |
getChild(int index)
Accessor method for individual children of this node.
|
int |
getChildCount()
Accessor method for the number of children of this node.
|
java.util.List |
getChildren() |
de.ipcon.db.oql.ExpressionResultType |
getExpressionResultType() |
PathPart |
getFirstPathPart() |
PathNode.HstoreExtractionMode |
getHstoreExtractionMode() |
PathPart |
getLastPathPart() |
QueryNameSpace |
getNameSpace() |
int |
getOperatorPrecedence() |
java.util.List<PathPart> |
getPathParts() |
java.lang.String |
getPathPartsAsString() |
java.lang.String |
getPathPartsAsString(int idx) |
int |
getPathPartsCount() |
java.lang.Class<?> |
getResultClass()
If this Path ends with an Anchor, then the
BasicEntityI.getClazz() is returned;
otherwise, the last attribute of the path is resolved, and its AttributeTypeI.getJavaClass() is returned. |
boolean |
isLeaf()
Specifies whether this node is a leaf.
|
void |
prependPathPart(PathPart part) |
void |
prependPathPart(java.lang.String name) |
void |
registerInNameSpaceNow() |
void |
removeLastPathPart() |
void |
renderRawHstoreSQL(java.lang.StringBuilder s)
Renders the raw column path without wrapping it in native PostgreSQL array functions (akeys/avals).
|
void |
renderSQL(java.lang.StringBuilder s,
java.lang.Object[] oqlArgs,
java.util.List sqlArgs)
Renders this node into a StringBuilder as SQL statement, copying
arguments from oqlArgs to sqlArgs if needed.
|
void |
setAnchor(de.ipcon.db.oql.TableSurrogate anchor,
EntityI anchorEntity,
boolean endsWithAnchor) |
void |
setNameSpace(QueryNameSpace nameSpace) |
java.lang.String |
toString()
returns a String representation of just this node.
|
appendComments, debugString, getParent, getToken, getType, hasType, isRoot, removeChild, setOwnType, setParent, setToken, setType, setType, setType, setTypeFromChildren, setTypeFromParentpublic static final java.lang.String VIRTUAL_ARRAY_MODIFIER_KEYS
public static final java.lang.String VIRTUAL_ARRAY_MODIFIER_VALUES
public PathNode(java.lang.String s,
Parser parser,
QueryNameSpace nameSpace,
boolean shortcutJoins)
throws OQLSyntaxException
OQLSyntaxExceptionpublic PathNode(java.lang.String[] path,
QueryNameSpace nameSpace,
boolean shortcutJoins)
throws OQLSyntaxException
OQLSyntaxExceptionpublic PathNode(Parser parser, QueryNameSpace nameSpace, boolean shortcutJoins, java.lang.String explicitRootAlias, boolean registerInNameSpace) throws OQLSyntaxException
OQLSyntaxExceptionpublic PathNode(ParseTreeNode parent, Parser parser, QueryNameSpace nameSpace, boolean shortcutJoins) throws OQLSyntaxException
OQLSyntaxExceptionpublic void registerInNameSpaceNow()
throws OQLSyntaxException
OQLSyntaxExceptionpublic void setNameSpace(QueryNameSpace nameSpace)
public QueryNameSpace getNameSpace()
public void setAnchor(de.ipcon.db.oql.TableSurrogate anchor,
EntityI anchorEntity,
boolean endsWithAnchor)
public final de.ipcon.db.oql.TableSurrogate getAnchor()
public final EntityI getAnchorEntity()
public final boolean endsWithAnchor()
public final AttributeI getAttributeOfLastPathPart()
public void addChild(ParseTreeNode child)
ParseTreeNodeaddChild in class ParseTreeNodechild - The new childpublic java.util.List getChildren()
public ParseTreeNode getChild(int index)
ParseTreeNodegetChild in class ParseTreeNodeindex - the index of the child to retrieve.public int getChildCount()
ParseTreeNodegetChildCount in class ParseTreeNodepublic boolean isLeaf()
ParseTreeNodeisLeaf in class ParseTreeNodepublic void addPathPart(java.lang.String name,
boolean nullsafeDotted,
java.lang.String typeCast,
boolean only)
public void addPathPart(PathPart part)
public de.ipcon.db.oql.ExpressionResultType getExpressionResultType()
getExpressionResultType in class ParseTreeNodepublic java.lang.Class<?> getResultClass()
BasicEntityI.getClazz() is returned;
otherwise, the last attribute of the path is resolved, and its AttributeTypeI.getJavaClass() is returned.getResultClass in class ParseTreeNodepublic java.lang.String toString()
ParseTreeNodetoString in class ParseTreeNodepublic void appendDebugString(java.lang.StringBuilder s)
ParseTreeNodeappendDebugString in class ParseTreeNodepublic final PathPart getFirstPathPart()
public final PathPart getLastPathPart()
public void removeLastPathPart()
public void prependPathPart(java.lang.String name)
public void prependPathPart(PathPart part)
public final java.util.List<PathPart> getPathParts()
public int getPathPartsCount()
public java.lang.String getPathPartsAsString()
public java.lang.String getPathPartsAsString(int idx)
public final PathNode.HstoreExtractionMode getHstoreExtractionMode()
public void renderRawHstoreSQL(java.lang.StringBuilder s)
public void renderSQL(java.lang.StringBuilder s,
java.lang.Object[] oqlArgs,
java.util.List sqlArgs)
ParseTreeNoderenderSQL in class ParseTreeNodepublic int getOperatorPrecedence()
getOperatorPrecedence in class ParseTreeNodeCopyright © 2000-2026 OAshi S.à r.l. All Rights Reserved.