|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.jpa.jpql.parser.AbstractExpression org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression org.eclipse.persistence.jpa.jpql.parser.TrimExpression
public final class TrimExpression
The TRIM function trims the specified character from a string. If the character to be
trimmed is not specified, it is assumed to be space (or blank). The optional trim_character
is a single-character string literal or a character-valued input parameter (i.e., char or
Character). If a trim specification is not provided, BOTH is assumed. The TRIM
function returns the trimmed string.
JPA 1.0, 2.0:
expression ::= TRIM([[trim_specification] [trim_character] FROM] string_primary)
trim_character ::= string_literal | input_parameter
JPA 2.1:
expression ::= TRIM([[trim_specification] [trim_character] FROM] string_expression)
trim_character ::= string_literal | input_parameter
UPDATE Student st SET st.sname=TRIM(st.sname)
Nested Class Summary | |
---|---|
static class |
TrimExpression.Specification
The possible ways to trim the string. |
Field Summary |
---|
Fields inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractExpression |
---|
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE |
Constructor Summary | |
---|---|
TrimExpression(AbstractExpression parent)
Creates a new TrimExpression . |
Method Summary | |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this Expression by the given visitor . |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this Expression . |
protected void |
addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Adds the Expressions representing the encapsulated Expression . |
java.lang.String |
encapsulatedExpressionBNF()
Returns the BNF used to parse the encapsulated expression. |
java.lang.String |
getActualFromIdentifier()
Returns the actual FROM identifier found in the string representation of the JPQL query, which has the actual case that was used. |
java.lang.String |
getActualSpecificationIdentifier()
Returns the actual specification identifier found in the string representation of the JPQL query, which has the actual case that was used. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
TrimExpression.Specification |
getSpecification()
Returns the specification which specifies how to trim the string. |
Expression |
getTrimCharacter()
Returns the character used for trimming the string. |
boolean |
hasEncapsulatedExpression()
Determines whether something was parsed after the left parenthesis. |
boolean |
hasFrom()
Determines whether the identifier FROM was part of the query. |
boolean |
hasSpaceAfterFrom()
Determines whether a whitespace was found after FROM. |
boolean |
hasSpaceAfterSpecification()
Determines whether a whitespace was found after the way the string is trimmed. |
boolean |
hasSpaceAfterTrimCharacter()
Determines whether a whitespace was found after the character used to trim the string. |
boolean |
hasSpecification()
Determines whether the way the trim is trimmed was parsed. |
boolean |
hasTrimCharacter()
Determines whether the character used to trim the string was specified. |
protected void |
parseEncapsulatedExpression(WordParser wordParser,
int whitespaceCount,
boolean tolerant)
Parses the encapsulated expression by starting at the current position, which is part of the given WordParser . |
protected java.lang.String |
parseIdentifier(WordParser wordParser)
Parses the identifier of this expression. |
protected void |
toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of the encapsulated Expression . |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractSingleEncapsulatedExpression |
---|
addChildrenTo, findQueryBNF, getExpression, hasExpression, removeEncapsulatedExpression, setExpression |
Methods inherited from class org.eclipse.persistence.jpa.jpql.parser.AbstractEncapsulatedExpression |
---|
addOrderedChildrenTo, areLogicalIdentifiersSupported, getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier, isParsingComplete, parse, shouldParseRightParenthesis, toParsedText |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public TrimExpression(AbstractExpression parent)
TrimExpression
.
parent
- The parent of this expressionMethod Detail |
---|
public void accept(ExpressionVisitor visitor)
Expression
by the given visitor
.
visitor
- The ExpressionVisitor
to visit this objectpublic void acceptChildren(ExpressionVisitor visitor)
Expression
. This method can be used to optimize traversing
the children since a new list is not created every time Expression.children()
is called.
This does not traverse the Expression
sub-hierarchy, use a subclass of
AbstractTraverseChildrenVisitor
in order to traverse the entire sub-hierarchy.
acceptChildren
in interface Expression
acceptChildren
in class AbstractSingleEncapsulatedExpression
visitor
- The visitor
to visit the children of this object.protected void addOrderedEncapsulatedExpressionTo(java.util.List<Expression> children)
Expressions
representing the encapsulated Expression
.
addOrderedEncapsulatedExpressionTo
in class AbstractSingleEncapsulatedExpression
children
- The list used to store the string representation of the encapsulated Expression
public java.lang.String encapsulatedExpressionBNF()
encapsulatedExpressionBNF
in class AbstractSingleEncapsulatedExpression
public java.lang.String getActualFromIdentifier()
public java.lang.String getActualSpecificationIdentifier()
public JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public TrimExpression.Specification getSpecification()
public Expression getTrimCharacter()
public boolean hasEncapsulatedExpression()
hasEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
true
if something was parsed; false
otherwisepublic boolean hasFrom()
true
if the identifier FROM was parsed; false
otherwisepublic boolean hasSpaceAfterFrom()
true
if there was a whitespace after FROM; false
otherwisepublic boolean hasSpaceAfterSpecification()
true
if there was a whitespace after the trim specification;
false
otherwisepublic boolean hasSpaceAfterTrimCharacter()
true
if there was a whitespace after the trim character;
false
otherwisepublic boolean hasSpecification()
true
if the query contained the way the trim needs to
be trimmed; false
otherwisepublic boolean hasTrimCharacter()
true
if the character used for trimming was specified; false
otherwiseprotected void parseEncapsulatedExpression(WordParser wordParser, int whitespaceCount, boolean tolerant)
WordParser
.
parseEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
wordParser
- The text to parse based on the current position of the cursorwhitespaceCount
- The number of whitespace characters that were parsed after '('tolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected java.lang.String parseIdentifier(WordParser wordParser)
parseIdentifier
in class AbstractEncapsulatedExpression
protected void toParsedTextEncapsulatedExpression(java.lang.StringBuilder writer, boolean actual)
Expression
.
toParsedTextEncapsulatedExpression
in class AbstractSingleEncapsulatedExpression
writer
- The buffer used to append the encapsulated Expression
's string
representationactual
- Determines whether to include any characters that are considered
virtual, i.e. that was parsed when the query is incomplete and is needed for functionality
like content assist
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |