|
EclipseLink 2.4.1, build 'v20121003-ad44345' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.jpa.jpql.parser.AbstractExpression
org.eclipse.persistence.jpa.jpql.parser.RegexpExpression
public final class RegexpExpression
The REGEXP condition is used to specify a search for a pattern. It is not part of JPA 2.0/2.1, only EclipseLink. It is supported by many databases (Oracle, MySQL, PostgreSQL), I think part of SQL 2008, replacing SIMILAR TO.
The string_expression
must have a string value. The pattern_value
is a
string literal or a string-valued input parameter that is a regular expression.
regexp_expression ::= string_expression REGEXP pattern_value
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 | |
---|---|
RegexpExpression(AbstractExpression parent,
AbstractExpression stringExpression)
Creates a new LikeExpression . |
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 |
addChildrenTo(java.util.Collection<Expression> children)
Adds the children of this AbstractExpression to the given collection. |
protected void |
addOrderedChildrenTo(java.util.List<Expression> children)
Adds the children of this AbstractExpression to the given list. |
java.lang.String |
getActualRegexpIdentifier()
Returns the actual REGEXP found in the string representation of the JPQL query, which has the actual case that was used. |
Expression |
getPatternValue()
Returns the Expression that represents the pattern value. |
JPQLQueryBNF |
getQueryBNF()
Returns the BNF of this Expression . |
Expression |
getStringExpression()
Returns the Expression that represents the string expression. |
boolean |
hasPatternValue()
Determines whether the pattern value was parsed. |
boolean |
hasSpaceAfterIdentifier()
Determines whether a whitespace was parsed after REGEXP. |
boolean |
hasSpaceAfterStringExpression()
Determines whether a whitespace was parsed after the string expression. |
boolean |
hasStringExpression()
Determines whether the string expression was parsed. |
protected boolean |
isParsingComplete(WordParser wordParser,
java.lang.String word,
Expression expression)
Determines whether the parsing is complete based on what is left in the given text. |
protected void |
parse(WordParser wordParser,
boolean tolerant)
Parses the query by starting at the current position, which is part of the given WordParser . |
protected void |
toParsedText(java.lang.StringBuilder writer,
boolean actual)
Generates a string representation of this Expression , including its children,
if it has any. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public RegexpExpression(AbstractExpression parent, AbstractExpression stringExpression)
LikeExpression
.
parent
- The parent of this expressionstringExpression
- The first part of this expression, which is the string 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.
visitor
- The visitor
to visit the children of this object.protected void addChildrenTo(java.util.Collection<Expression> children)
AbstractExpression
to the given collection.
addChildrenTo
in class AbstractExpression
children
- The collection used to store the childrenprotected void addOrderedChildrenTo(java.util.List<Expression> children)
AbstractExpression
to the given list.
addOrderedChildrenTo
in class AbstractExpression
children
- The list used to store the string representation of this AbstractExpression
public java.lang.String getActualRegexpIdentifier()
public Expression getPatternValue()
Expression
that represents the pattern value.
public JPQLQueryBNF getQueryBNF()
Expression
.
JPQLQueryBNF
, which represents the grammar of this Expression
public Expression getStringExpression()
Expression
that represents the string expression.
public boolean hasPatternValue()
true
if the pattern value was parsed; false
otherwisepublic boolean hasSpaceAfterIdentifier()
true
if there was a whitespace after REGEXP; false
otherwisepublic boolean hasSpaceAfterStringExpression()
true
if there was a whitespace after the string expression;
false
otherwisepublic boolean hasStringExpression()
true
if the string expression was parsed; false
otherwiseprotected boolean isParsingComplete(WordParser wordParser, java.lang.String word, Expression expression)
isParsingComplete
in class AbstractExpression
wordParser
- The text to parse based on the current position of the cursorword
- The word that was retrieved from the given text, which is the first word in the textexpression
- The Expression
that has already been parsed
true
if the text no longer can't be parsed by the current expression;
false
if more can be parsedprotected void parse(WordParser wordParser, boolean tolerant)
WordParser
.
parse
in class AbstractExpression
wordParser
- The text to parse based on the current position of the cursortolerant
- Determines whether the parsing system should be tolerant, meaning if it should
try to parse invalid or incomplete queriesprotected void toParsedText(java.lang.StringBuilder writer, boolean actual)
Expression
, including its children,
if it has any.
toParsedText
in class AbstractExpression
writer
- The buffer used to append this Expression
's string representationactual
- Determines 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
|
EclipseLink 2.4.1, build 'v20121003-ad44345' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |