constructor_expression ::= NEW constructor_name(constructor_item {, constructor_item}*)| Modifier and Type | Field and Description |
|---|---|
| private String | className
The fully qualified class name of this expression. |
| private AbstractExpression | constructorItems
The list of constructor items. |
| private boolean | hasLeftParenthesis
Flag used to determine if the closing parenthesis is present in the query. |
| private boolean | hasRightParenthesis
Flag used to determine if the opening parenthesis is present in the query. |
| private boolean | hasSpaceAfterConstructorName
When the expression is not valid and the left parenthesis is missing, then a space might have been parsed. |
| private boolean | hasSpaceAfterNew
Determines whether there is a whitespace after the identifier NEW. |
| private String | identifier
The actual NEW identifier found in the string representation of the JPQL query. |
| Access | Constructor and Description |
|---|---|
| public | ConstructorExpression(AbstractExpression
The parent of this expression parent)Creates a new |
| Modifier and Type | Method and Description |
|---|---|
| public void | accept(ExpressionVisitor
The visitor)ExpressionVisitor to visit this objectImplements org. Expression by the given visitor.
|
| public void | acceptChildren(ExpressionVisitor
The visitor)visitor to visit the children of this object.Implements org. Expression.
|
| protected void | addChildrenTo(Collection<Expression>
The collection used to store the children children)Overrides org. AbstractExpression to the given collection.
|
| protected void | addOrderedChildrenTo(List<Expression>
The list used to store the string representation of this children)AbstractExpressionOverrides org. AbstractExpression to the given list.
|
| public CollectionExpression | Returns: The single constructor item represented by a temporary collectionCreates a new |
| public JPQLQueryBNF | findQueryBNF(Expression
The expression)Expression that is a descendant of this oneOverrides org. Implements org. JPQLQueryBNF that represents the fragment of this Expression
that was used when parsing the given Expression.
|
| public String | Returns: The NEW identifier that was actually parsedReturns the actual NEW identifier found in the string representation of the JPQL query, which has the actual case that was used. |
| public String | Returns: The fully qualified class name or an empty string if it is not definedReturns the fully qualified class name that will be used to retrieve the constructor. |
| public Expression | Returns: The constructor item or items or an invalid or "null" expressionReturns the constructor items aggregated into a single expression and separated by commas or a single expression. |
| public JPQLQueryBNF | getQueryBNF()
Implements org. Expression.
|
| public boolean | Returns: true if the query had at least one constructor item; false
otherwiseDetermines whether the constructor items were parsed. |
| public boolean | Returns: true if the open parenthesis was present in the string version of the
query; false otherwiseDetermines whether the open parenthesis was parsed or not. |
| public boolean | Returns: true if the close parenthesis was present in the string version of the
query; false otherwiseDetermines whether the close parenthesis was parsed or not. |
| public boolean | Returns: true if there was a whitespace after NEW; false
otherwiseDetermines whether a whitespace was parsed after NEW. |
| protected boolean | isParsingComplete(WordParser
The text to parse based on the current position of the cursor wordParser, String The word that was retrieved from the given text, which is the first word in the text word, Expression The expression)Expression that has already been parsedOverrides org. |
| protected void | parse(WordParser
The text to parse based on the current position of the cursor wordParser, boolean Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queries tolerant)Implements abstract org. WordParser.
|
| protected boolean | shouldSkipLiteral(AbstractExpression
The expression)Expression that has just been parsed or nullOverrides org. |
| protected void | toParsedText(StringBuilder
The buffer used to append this writer, boolean Expression's string representationDetermines whether the string representation should represent what was parsed,
i.e. include any "virtual" whitespace (such as ending whitespace) and the actual case of the
JPQL identifiers actual)Implements abstract org. Expression, including its children,
if it has any.
|
| className | back to summary |
|---|---|
| private String className The fully qualified class name of this expression. | |
| constructorItems | back to summary |
|---|---|
| private AbstractExpression constructorItems The list of constructor items. | |
| hasLeftParenthesis | back to summary |
|---|---|
| private boolean hasLeftParenthesis Flag used to determine if the closing parenthesis is present in the query. | |
| hasRightParenthesis | back to summary |
|---|---|
| private boolean hasRightParenthesis Flag used to determine if the opening parenthesis is present in the query. | |
| hasSpaceAfterConstructorName | back to summary |
|---|---|
| private boolean hasSpaceAfterConstructorName When the expression is not valid and the left parenthesis is missing, then a space might have been parsed. | |
| hasSpaceAfterNew | back to summary |
|---|---|
| private boolean hasSpaceAfterNew Determines whether there is a whitespace after the identifier NEW. | |
| identifier | back to summary |
|---|---|
| private String identifier The actual NEW identifier found in the string representation of the JPQL query. | |
| ConstructorExpression | back to summary |
|---|---|
| public ConstructorExpression(AbstractExpression parent) Creates a new
| |
| accept | back to summary |
|---|---|
| public void accept(ExpressionVisitor visitor) Implements org. Doc from org. Visits this
| |
| acceptChildren | back to summary |
|---|---|
| public void acceptChildren(ExpressionVisitor visitor) Implements org. Doc from org. Visits the children of this
This does not traverse the
| |
| addChildrenTo | back to summary |
|---|---|
| protected void addChildrenTo(Collection<Expression> children) Overrides org. Doc from org. Adds the children of this
| |
| addOrderedChildrenTo | back to summary |
|---|---|
| protected void addOrderedChildrenTo(List<Expression> children) Overrides org. Doc from org. Adds the children of this
| |
| buildCollectionExpression | back to summary |
|---|---|
| public CollectionExpression buildCollectionExpression() Creates a new
| |
| findQueryBNF | back to summary |
|---|---|
| public JPQLQueryBNF findQueryBNF(Expression expression) Overrides org. Implements org. Doc from org. Retrieves the
| |
| getActualIdentifier | back to summary |
|---|---|
| public String getActualIdentifier() Returns the actual NEW identifier found in the string representation of the JPQL query, which has the actual case that was used.
| |
| getClassName | back to summary |
|---|---|
| public String getClassName() Returns the fully qualified class name that will be used to retrieve the constructor.
| |
| getConstructorItems | back to summary |
|---|---|
| public Expression getConstructorItems() Returns the constructor items aggregated into a single expression and separated by commas or a single expression.
| |
| getQueryBNF | back to summary |
|---|---|
| public JPQLQueryBNF getQueryBNF() Implements org. Doc from org. Returns the BNF of this
| |
| hasConstructorItems | back to summary |
|---|---|
| public boolean hasConstructorItems() Determines whether the constructor items were parsed.
| |
| hasLeftParenthesis | back to summary |
|---|---|
| public boolean hasLeftParenthesis() Determines whether the open parenthesis was parsed or not.
| |
| hasRightParenthesis | back to summary |
|---|---|
| public boolean hasRightParenthesis() Determines whether the close parenthesis was parsed or not.
| |
| hasSpaceAfterNew | back to summary |
|---|---|
| public boolean hasSpaceAfterNew() Determines whether a whitespace was parsed after NEW.
| |
| isParsingComplete | back to summary |
|---|---|
| protected boolean isParsingComplete(WordParser wordParser, String word, Expression expression) Overrides org. Doc from org. Determines whether the parsing is complete based on what is left in the given text. The text is never empty.
| |
| parse | back to summary |
|---|---|
| protected void parse(WordParser wordParser, boolean tolerant) Implements abstract org. Doc from org. Parses the query by starting at the current position, which is part of the given
| |
| shouldSkipLiteral | back to summary |
|---|---|
| protected boolean shouldSkipLiteral(AbstractExpression expression) Overrides org. Doc from org. When parsing an invalid or incomplete query, it is possible two literals would be parsed but in some cases, a CollectionExpression should not be created and the parsing should actually stop here. Example: BETWEEN 10 20, when parsing 20, it should not be parsed as part of the lower bound expression.
| |
| toParsedText | back to summary |
|---|---|
| protected void toParsedText(StringBuilder writer, boolean actual) Implements abstract org. Doc from org. Generates a string representation of this
| |