Class FunctionExpressionStateObject
- java.lang.Object
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.AbstractStateObject
-
- org.eclipse.persistence.jpa.jpql.tools.model.query.FunctionExpressionStateObject
-
- All Implemented Interfaces:
ListHolderStateObject<StateObject>,StateObject
public class FunctionExpressionStateObject extends AbstractStateObject implements ListHolderStateObject<StateObject>
- Since:
- 2.4
- Version:
- 2.4
- Author:
- Pascal Filion
-
-
Field Summary
Fields Modifier and Type Field Description static StringARGUMENTS_LISTNotifies the list of arguments has changed.static StringFUNCTION_NAME_PROPERTYNotifies the function name property has changed.
-
Constructor Summary
Constructors Constructor Description FunctionExpressionStateObject(StateObject parent)Creates a newAbstractFunctionExpressionStateObject.FunctionExpressionStateObject(StateObject parent, String identifier, String functionName, List<? extends StateObject> arguments)Creates a newAbstractFunctionExpressionStateObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(StateObjectVisitor visitor)Visits thisStateObjectby the givenvisitor.<S extends StateObject>
SaddItem(S item)Adds the givenStateObjectas a child of this one.voidaddItems(List<? extends StateObject> items)Adds the given list ofStateObjectsas children of this one.voidaddListChangeListener(String listName, IListChangeListener<StateObject> listener)Registers the givenIListChangeListenerfor the specified list.booleancanMoveDown(StateObject item)Determines whether the givenStateObjectcan be moved down by one position in the list owned by its parent.booleancanMoveUp(StateObject item)Determines whether the givenStateObjectcan be moved up by one position in the list owned by its parent.FunctionExpressiongetExpression()Returns the actual parsed object if thisStateObjectrepresentation of the JPQL query was created by parsing an existing JPQL query.StringgetFunctionName()Returns the name of the native database function.StringgetIdentifier()Returns the JPQL identifier of this expression.StateObjectgetItem(int index)Returns theStateObjectat the given positions from the listStringgetQuotedFunctionName()Returns the quoted name of the native database function.booleanhasFunctionName()Determines whether the name of the native SQL function has been specified.booleanhasItems()Determines whether thisStateObjecthas any children.booleanisEquivalent(StateObject stateObject)Determines whether the givenStateObjectis equivalent to this one, i.e.ListIterable<StateObject>items()Returns anListIterableover the children.intitemsSize()Returns the number of children this list holder has.StateObjectmoveDown(StateObject item)Moves the givenStateObjectdown by one position in the list owned by its parent.StateObjectmoveUp(StateObject item)Moves the givenStateObjectup by one position in the list owned by its parent.voidremoveItem(StateObject item)Removes the givenStateObjectfrom the list of children.voidremoveItems(Collection<StateObject> items)Removes the givenStateObjectfrom the list of children.voidremoveListChangeListener(String listName, IListChangeListener<StateObject> listener)Unregisters the givenIListChangeListenerthat was registered for the specified list.voidsetExpression(FunctionExpression 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.voidsetFunctionName(String functionName)Sets the unquoted name of the native database function.-
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
-
Methods inherited from interface org.eclipse.persistence.jpa.jpql.tools.model.query.StateObject
addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText
-
-
-
-
Field Detail
-
ARGUMENTS_LIST
public static final String ARGUMENTS_LIST
Notifies the list of arguments has changed.- See Also:
- Constant Field Values
-
FUNCTION_NAME_PROPERTY
public static final String FUNCTION_NAME_PROPERTY
Notifies the function name property has changed.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FunctionExpressionStateObject
public FunctionExpressionStateObject(StateObject parent)
Creates a newAbstractFunctionExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benull- Throws:
NullPointerException- The given parent cannot benull
-
FunctionExpressionStateObject
public FunctionExpressionStateObject(StateObject parent, String identifier, String functionName, List<? extends StateObject> arguments)
Creates a newAbstractFunctionExpressionStateObject.- Parameters:
parent- The parent of this state object, which cannot benullidentifier- The JPQL identifier of the SQL expressionfunctionName- The name of the native database functionarguments- The list ofStateObjectrepresenting the arguments to pass to the native database function- Throws:
NullPointerException- The given parent cannot benull
-
-
Method Detail
-
accept
public void accept(StateObjectVisitor visitor)
Visits thisStateObjectby the givenvisitor.- Specified by:
acceptin interfaceStateObject- Parameters:
visitor- Thevisitorto visit this object
-
addItem
public <S extends StateObject> S addItem(S item)
Adds the givenStateObjectas a child of this one.- Specified by:
addItemin interfaceListHolderStateObject<StateObject>- Parameters:
item- The childStateObjectto become a child of this one return The given item
-
addItems
public void addItems(List<? extends StateObject> items)
Adds the given list ofStateObjectsas children of this one.- Specified by:
addItemsin interfaceListHolderStateObject<StateObject>- Parameters:
items- TheStateObjectsto become children of this one
-
addListChangeListener
public void addListChangeListener(String listName, IListChangeListener<StateObject> listener)
Registers the givenIListChangeListenerfor the specified list. The listener will be notified only when items are added, removed, moved from the list.- Specified by:
addListChangeListenerin interfaceListHolderStateObject<StateObject>- Parameters:
listName- The name of the list for which the listener will be notified when the content of the list has changedlistener- The listener to be notified upon changes
-
canMoveDown
public boolean canMoveDown(StateObject item)
Determines whether the givenStateObjectcan be moved down by one position in the list owned by its parent.- Specified by:
canMoveDownin interfaceListHolderStateObject<StateObject>- Parameters:
item- TheStateObjectthat could potentially be moved down- Returns:
trueif the object can be moved down by one unit;falseotherwise
-
canMoveUp
public boolean canMoveUp(StateObject item)
Determines whether the givenStateObjectcan be moved up by one position in the list owned by its parent.- Specified by:
canMoveUpin interfaceListHolderStateObject<StateObject>- Parameters:
item- TheStateObjectthat could potentially be moved up- Returns:
trueif the object can be moved up by one unit;falseotherwise
-
getExpression
public FunctionExpression 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)
-
getFunctionName
public String getFunctionName()
Returns the name of the native database function.- Returns:
- The new name of the native database function
-
getIdentifier
public String getIdentifier()
Returns the JPQL identifier of this expression.- Returns:
- The JPQL identifier
-
getItem
public StateObject getItem(int index)
Returns theStateObjectat the given positions from the list- Specified by:
getItemin interfaceListHolderStateObject<StateObject>- Parameters:
index- The position of theStateObjectto retrieve- Returns:
- The
StateObjectat the given position
-
getQuotedFunctionName
public String getQuotedFunctionName()
Returns the quoted name of the native database function.- Returns:
- The new name of the native database function, which is quoted
-
hasFunctionName
public boolean hasFunctionName()
Determines whether the name of the native SQL function has been specified.- Returns:
trueif the function name has been specified;falseotherwise
-
hasItems
public boolean hasItems()
Determines whether thisStateObjecthas any children.- Specified by:
hasItemsin interfaceListHolderStateObject<StateObject>- Returns:
trueif thisStateObjecthas children;falseotherwise
-
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
-
items
public ListIterable<StateObject> items()
Returns anListIterableover the children.- Specified by:
itemsin interfaceListHolderStateObject<StateObject>- Returns:
- An
ListIterablethat is iterating over the children
-
itemsSize
public int itemsSize()
Returns the number of children this list holder has.- Specified by:
itemsSizein interfaceListHolderStateObject<StateObject>- Returns:
- The count of
StateObjectsthat are children of this one
-
moveDown
public StateObject moveDown(StateObject item)
Moves the givenStateObjectdown by one position in the list owned by its parent.- Specified by:
moveDownin interfaceListHolderStateObject<StateObject>- Parameters:
item- TheStateObjectto move down in the list- Returns:
- The given item
-
moveUp
public StateObject moveUp(StateObject item)
Moves the givenStateObjectup by one position in the list owned by its parent.- Specified by:
moveUpin interfaceListHolderStateObject<StateObject>- Parameters:
item- TheStateObjectto move up in the list- Returns:
- The given item
-
removeItem
public void removeItem(StateObject item)
Removes the givenStateObjectfrom the list of children.- Specified by:
removeItemin interfaceListHolderStateObject<StateObject>- Parameters:
item- The childStateObjectto not longer be a child
-
removeItems
public void removeItems(Collection<StateObject> items)
Removes the givenStateObjectfrom the list of children.- Specified by:
removeItemsin interfaceListHolderStateObject<StateObject>- Parameters:
items- TheStateObjectsto remove from this one
-
removeListChangeListener
public void removeListChangeListener(String listName, IListChangeListener<StateObject> listener)
Unregisters the givenIListChangeListenerthat was registered for the specified list. The listener will no longer be notified only when items are added, removed, moved from the list.- Specified by:
removeListChangeListenerin interfaceListHolderStateObject<StateObject>- Parameters:
listName- The name of the list for which the listener was registeredlistener- The listener to unregister
-
setExpression
public void setExpression(FunctionExpression 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 SQL expression
-
setFunctionName
public void setFunctionName(String functionName)
Sets the unquoted name of the native database function.- Parameters:
functionName- The new name of the native database function, which should be unquoted
-
-