|
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.model.query.AbstractStateObject org.eclipse.persistence.jpa.jpql.model.query.AbstractConditionalClauseStateObject org.eclipse.persistence.jpa.jpql.model.query.WhenClauseStateObject
public class WhenClauseStateObject
A WHEN
predicate is used to calculate a condition and when it's true, its
THEN
will be executed.
when_clause ::= WHEN conditional_expression THEN scalar_expression
or
simple_when_clause ::= WHEN scalar_expression THEN scalar_expression
WhenClause
Field Summary | |
---|---|
static java.lang.String |
THEN_STATE_OBJECT_PROPERTY
Notify the StateObject representing the scalar expression that follows the
THEN identifier has changed. |
Fields inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractConditionalClauseStateObject |
---|
CONDITIONAL_STATE_OBJECT_PROPERTY |
Constructor Summary | |
---|---|
WhenClauseStateObject(CaseExpressionStateObject parent)
Creates a new WhenClauseStateObject . |
|
WhenClauseStateObject(CaseExpressionStateObject parent,
StateObject whenStateObject,
StateObject thenStateObject)
Creates a new WhenClauseStateObject . |
|
WhenClauseStateObject(CaseExpressionStateObject parent,
java.lang.String whenJpqlFragment,
java.lang.String thenJpqlFragment)
Creates a new WhenClauseStateObject . |
Method Summary | |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this StateObject by the given visitor . |
protected void |
addChildren(java.util.List<StateObject> children)
Adds the children of this StateObject to the given list. |
protected void |
addProblems(java.util.List<Problem> problems)
Adds to the given list the problems that were found with the current state of this StateObject , which means there are validation issues. |
WhenClause |
getExpression()
Returns the actual parsed object if this StateObject representation of the JPQL query
was created by parsing an existing JPQL query. |
java.lang.String |
getIdentifier()
Returns the JPQL identifier of this clause. |
CaseExpressionStateObject |
getParent()
Returns the parent of this StateObject . |
StateObject |
getThen()
Returns the StateObject representing the scalar expression that is following the
THEN identifier. |
boolean |
hasThen()
Determines whether the StateObject representing the scalar expression is present. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given StateObject is equivalent to this one, i.e. the
information of both StateObject is the same. |
void |
parseThen(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the THEN expression. |
void |
parseWhen(java.lang.String jpqlFragment)
Parses the given JPQL fragment, which will represent the WHEN clause. |
void |
setExpression(WhenClause expression)
Keeps a reference of the parsed object object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects . |
void |
setThen(StateObject thenStateObject)
Sets the scalar expression to be the given StateObject . |
void |
toTextInternal(java.lang.Appendable writer)
Prints out a string representation of this StateObject , which should not be used to
define a true string representation of a JPQL query but should be used for
debugging purposes. |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractConditionalClauseStateObject |
---|
andParse, getBuilder, getConditional, hasConditional, orParse, parse, setConditional, shouldEncapsulateORExpression |
Methods inherited from class org.eclipse.persistence.jpa.jpql.model.query.AbstractStateObject |
---|
acceptUnknownVisitor, acceptUnknownVisitor, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, initialize, isDecorated, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String THEN_STATE_OBJECT_PROPERTY
StateObject
representing the scalar expression that follows the
THEN
identifier has changed.
Constructor Detail |
---|
public WhenClauseStateObject(CaseExpressionStateObject parent)
WhenClauseStateObject
.
parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public WhenClauseStateObject(CaseExpressionStateObject parent, StateObject whenStateObject, StateObject thenStateObject)
WhenClauseStateObject
.
parent
- The parent of this state objectwhenStateObject
- The StateObject
representing the conditional expression that
is following the WHEN
identifierthenStateObject
- The StateObject
representing the scalar expression that
is following the THEN
identifier
java.lang.NullPointerException
- The given parent cannot be null
public WhenClauseStateObject(CaseExpressionStateObject parent, java.lang.String whenJpqlFragment, java.lang.String thenJpqlFragment)
WhenClauseStateObject
.
parent
- The parent of this state objectwhenJpqlFragment
- The string representation of the WHEN
clause to
parse and to convert into a StateObject
thenJpqlFragment
- The string representation of the THEN
expression
to parse and to convert into a StateObject
java.lang.NullPointerException
- The given parent cannot be null
Method Detail |
---|
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.
visitor
- The visitor
to visit this objectprotected void addChildren(java.util.List<StateObject> children)
StateObject
to the given list.
addChildren
in class AbstractConditionalClauseStateObject
children
- The list used to store the childrenprotected void addProblems(java.util.List<Problem> problems)
StateObject
, which means there are validation issues.
addProblems
in class AbstractStateObject
problems
- The list to which the problems are addedpublic WhenClause getExpression()
StateObject
representation of the JPQL query
was created by parsing an existing JPQL query.
getExpression
in interface StateObject
getExpression
in class AbstractStateObject
StateObject
or null
when the JPQL query is manually created (i.e. not from a string)public java.lang.String getIdentifier()
getIdentifier
in class AbstractConditionalClauseStateObject
public CaseExpressionStateObject getParent()
StateObject
.
getParent
in interface StateObject
getParent
in class AbstractStateObject
StateObject
, which is null
only when
this is the root of the hierarchypublic StateObject getThen()
StateObject
representing the scalar expression that is following the
THEN
identifier.
StateObject
representing the THEN
expression
or null
if it's not definedpublic boolean hasThen()
StateObject
representing the scalar expression is present.
true
the scalar expression exists; otherwise false
public boolean isEquivalent(StateObject stateObject)
StateObject
is equivalent to this one, i.e. the
information of both StateObject
is the same.
isEquivalent
in interface StateObject
isEquivalent
in class AbstractConditionalClauseStateObject
stateObject
- The StateObject
to compare its content to this one
true
if both object are equivalent; false
otherwisepublic void parseThen(java.lang.String jpqlFragment)
THEN
expression.
The JPQL fragment should not start with the identifier.
jpqlFragment
- The string representation of the THEN
expression
to parse and to convert into a StateObject
public void parseWhen(java.lang.String jpqlFragment)
WHEN
clause.
The JPQL fragment should not start with the identifier.
jpqlFragment
- The string representation of the WHEN
clause to
parse and to convert into a StateObject
public void setExpression(WhenClause expression)
parsed object
object, which should only be
done when this object is instantiated during the conversion of a parsed JPQL query into
StateObjects
.
expression
- The parsed object
representing a WHEN
clausepublic void setThen(StateObject thenStateObject)
StateObject
.
thenStateObject
- The StateObject
representing the scalar expressionpublic void toTextInternal(java.lang.Appendable writer) throws java.io.IOException
StateObject
, which should not be used to
define a true
string representation of a JPQL query but should be used for
debugging purposes.
toTextInternal
in class AbstractConditionalClauseStateObject
writer
- The writer used to print out the string representation
java.io.IOException
- This should never happens, it is only required because Appendable
is used instead of any concrete class
|
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 |