public final class TrimExpression extends AbstractSingleEncapsulatedExpression
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)
Modifier and Type | Class and Description |
---|---|
static class |
TrimExpression.Specification
The possible ways to trim the string.
|
COMMA, DOT, DOUBLE_QUOTE, LEFT_CURLY_BRACKET, LEFT_PARENTHESIS, NOT_DEFINED, RIGHT_CURLY_BRACKET, RIGHT_PARENTHESIS, SINGLE_QUOTE, SPACE, UNDERSCORE
ABS, ALL, AND, ANY, AS, AS_OF, ASC, AVG, BETWEEN, BIT_LENGTH, BOTH, CASE, CAST, CHAR_LENGTH, CHARACTER_LENGTH, CLASS, COALESCE, COLUMN, CONCAT, CONNECT_BY, COUNT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DELETE, DELETE_FROM, DESC, DIFFERENT, DISTINCT, DIVISION, ELSE, EMPTY, END, ENTRY, EQUAL, ESCAPE, EXCEPT, EXISTS, EXTRACT, FALSE, FETCH, FIRST, FROM, FUNC, FUNCTION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_BY, HAVING, IN, INDEX, INNER, INNER_JOIN, INNER_JOIN_FETCH, INTERSECT, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JOIN, JOIN_FETCH, KEY, LAST, LEADING, LEFT, LEFT_JOIN, LEFT_JOIN_FETCH, LEFT_OUTER_JOIN, LEFT_OUTER_JOIN_FETCH, LENGTH, LIKE, LOCATE, LOWER, LOWER_THAN, LOWER_THAN_OR_EQUAL, MAX, MEMBER, MEMBER_OF, MIN, MINUS, MOD, MULTIPLICATION, NAMED_PARAMETER, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_MEMBER_OF, NULL, NULLIF, NULLS, NULLS_FIRST, NULLS_LAST, OBJECT, OF, ON, OPERATOR, OR, ORDER_BY, ORDER_SIBLINGS_BY, OUTER, PLUS, POSITION, POSITIONAL_PARAMETER, QUOTE, REGEXP, SCN, SELECT, SET, SIZE, SOME, SQL, SQRT, START_WITH, SUBSTRING, SUM, TABLE, THEN, TIMESTAMP, TRAILING, TREAT, TRIM, TRUE, TYPE, UNION, UNKNOWN, UPDATE, UPPER, VALUE, WHEN, WHERE
Constructor and Description |
---|
TrimExpression(AbstractExpression parent)
Creates a new
TrimExpression . |
Modifier and Type | Method and Description |
---|---|
void |
accept(ExpressionVisitor visitor)
Visits this
Expression by the given visitor . |
void |
acceptChildren(ExpressionVisitor visitor)
Visits the children of this
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.
|
java.lang.String |
getEncapsulatedExpressionQueryBNFId()
Returns the BNF used to parse the encapsulated expression.
|
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.
|
findQueryBNF, getExpression, hasExpression, setExpression
getActualIdentifier, getIdentifier, hasLeftParenthesis, hasRightParenthesis, hasSpaceAfterIdentifier
children, getGrammar, getIdentifierVersion, getLength, getOffset, getParent, getQueryBNF, getRoot, isAncestor, orderedChildren, populatePosition, toActualText, toParsedText, toString
public TrimExpression(AbstractExpression parent)
TrimExpression
.parent
- The parent of this expressionpublic 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.public java.lang.String getEncapsulatedExpressionQueryBNFId()
getEncapsulatedExpressionQueryBNFId
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
otherwiseEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference