Class CollectionMemberExpressionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.CollectionMemberExpressionStateObject
-
- All Implemented Interfaces:
StateObject
public class CollectionMemberExpressionStateObject extends AbstractStateObject
This expression tests whether the designated value is a member of the collection specified by the collection-valued path expression. If the collection-valued path expression designates an empty collection, the value of theMEMBER OFexpression is FALSE and the value of theNOT MEMBER OFexpression is TRUE. Otherwise, if the value of the collection-valued path expression or single-valued association-field path expression in the collection member expression is NULL or unknown, the value of the collection member expression is unknown.BNF:collection_member_expression ::= entity_or_value_expression [NOT] MEMBER [OF] collection_valued_path_expression- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
- See Also:
CollectionMemberExpression
-
-
Field Summary
Fields Modifier and Type Field Description static StringENTITY_STATE_OBJECT_PROPERTYNotifies the entity state object property has changed.static StringNOT_PROPERTYNotifies the visibility of theNOTidentifier has changed.static StringOF_PROPERTYNotifies the visibility of theOFidentifier has changed.
-
Constructor Summary
Constructors Constructor Description CollectionMemberExpressionStateObject(StateObject parent)Creates a newCollectionMemberExpressionStateObject.CollectionMemberExpressionStateObject(StateObject parent, StateObject entityStateObject, boolean not, boolean of, String collectionValuedPath)Creates a newCollectionMemberExpressionStateObject.CollectionMemberExpressionStateObject(StateObject parent, StateObject entityStateObject, String collectionValuedPath)Creates a newCollectionMemberExpressionStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.CollectionMemberExpressionStateObjectaddNot()Makes sure theNOTidentifier is specified.CollectionMemberExpressionStateObjectaddOf()Makes sure theOFidentifier is specified.CollectionValuedPathExpressionStateObjectgetCollectionValuedPath()StateObjectgetEntityStateObject()CollectionMemberExpressiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.booleanhasEntityStateObject()booleanhasNot()Determines whether theNOTidentifier is used or not.booleanhasOf()booleanisEquivalent(StateObject stateObject)Determines whether the givenStateObjectis equivalent to this one, i.e.voidremoveNot()Makes sure theNOTidentifier is not specified.voidremoveOf()Makes sure theOFidentifier is not specified.voidsetEntityStateObject(StateObject entityStateObject)SetsvoidsetExpression(CollectionMemberExpression expression)Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.voidsetNot(boolean not)Sets whether theNOTidentifier should be part of the expression or not.voidsetOf(boolean of)voidtoggleNot()Changes the visibility state of theNOTidentifier.voidtoggleOf()Changes the visibility state of theOFidentifier.-
Methods inherited from class org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
-
-
-
-
Field Detail
-
ENTITY_STATE_OBJECT_PROPERTY
public static final String ENTITY_STATE_OBJECT_PROPERTY
Notifies the entity state object property has changed.- See Also:
- Constant Field Values
-
NOT_PROPERTY
public static final String NOT_PROPERTY
Notifies the visibility of theNOTidentifier has changed.- See Also:
- Constant Field Values
-
OF_PROPERTY
public static final String OF_PROPERTY
Notifies the visibility of theOFidentifier has changed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CollectionMemberExpressionStateObject
public CollectionMemberExpressionStateObject(StateObject parent)
Creates a newCollectionMemberExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
NullPointerException- The given parent cannot benull
-
CollectionMemberExpressionStateObject
public CollectionMemberExpressionStateObject(StateObject parent, StateObject entityStateObject, boolean not, boolean of, String collectionValuedPath)
Creates a newCollectionMemberExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullentityStateObject-not- Determines whether theNOTidentifier is part of the expression or notof-collectionValuedPath-- Throws:
NullPointerException- The given parent cannot benull
-
CollectionMemberExpressionStateObject
public CollectionMemberExpressionStateObject(StateObject parent, StateObject entityStateObject, String collectionValuedPath)
Creates a newCollectionMemberExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullentityStateObject-collectionValuedPath-- Throws:
NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Parameters:
visitor- Thevisitorto visit this object
-
addNot
public CollectionMemberExpressionStateObject addNot()
Makes sure theNOTidentifier is specified.- Returns:
- This object
-
addOf
public CollectionMemberExpressionStateObject addOf()
Makes sure theOFidentifier is specified.- Returns:
- This object
-
getCollectionValuedPath
public CollectionValuedPathExpressionStateObject getCollectionValuedPath()
-
getEntityStateObject
public StateObject getEntityStateObject()
-
getExpression
public CollectionMemberExpression getExpression()
Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.- Specified by:
getExpressionin interfaceStateObject- Overrides:
getExpressionin classAbstractStateObject- Returns:
- The parsed object when a JPQL query is parsed and converted into a
StateObjectornullwhen the JPQL query is manually created (i.e. not from a string)
-
hasEntityStateObject
public boolean hasEntityStateObject()
-
hasNot
public boolean hasNot()
Determines whether theNOTidentifier is used or not.- Returns:
trueif theNOTidentifier is part of the expression;falseotherwise
-
hasOf
public boolean hasOf()
-
isEquivalent
public boolean isEquivalent(StateObject stateObject)
Determines whether the givenStateObjectis equivalent to this one, i.e. the information of bothStateObjectis the same.- Specified by:
isEquivalentin interfaceStateObject- Overrides:
isEquivalentin classAbstractStateObject- Parameters:
stateObject- TheStateObjectto compare its content to this one- Returns:
trueif both object are equivalent;falseotherwise
-
removeNot
public void removeNot()
Makes sure theNOTidentifier is not specified.
-
removeOf
public void removeOf()
Makes sure theOFidentifier is not specified.
-
setEntityStateObject
public void setEntityStateObject(StateObject entityStateObject)
Sets- Parameters:
entityStateObject-
-
setExpression
public void setExpression(CollectionMemberExpression expression)
Keeps a reference of theparsed objectobject, which should only be done when this object is instantiated during the conversion of a parsed JPQL query intoStateObjects.- Parameters:
expression- Theparsed objectrepresenting a collection member expression
-
setNot
public void setNot(boolean not)
Sets whether theNOTidentifier should be part of the expression or not.- Parameters:
not-trueif theNOTidentifier should be part of the expression;falseotherwise
-
setOf
public void setOf(boolean of)
-
toggleNot
public void toggleNot()
Changes the visibility state of theNOTidentifier.
-
toggleOf
public void toggleOf()
Changes the visibility state of theOFidentifier.
-
-