public class FunctionExpressionStateObject extends AbstractStateObject implements ListHolderStateObject<StateObject>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ARGUMENTS_LIST
Notifies the list of arguments has changed.
|
static java.lang.String |
FUNCTION_NAME_PROPERTY
Notifies the function name property has changed.
|
Constructor and Description |
---|
FunctionExpressionStateObject(StateObject parent)
Creates a new
AbstractFunctionExpressionStateObject . |
FunctionExpressionStateObject(StateObject parent,
java.lang.String identifier,
java.lang.String functionName,
java.util.List<? extends StateObject> arguments)
Creates a new
AbstractFunctionExpressionStateObject . |
Modifier and Type | Method and Description |
---|---|
void |
accept(StateObjectVisitor visitor)
Visits this
StateObject by the given visitor . |
<S extends StateObject> |
addItem(S item)
Adds the given
StateObject as a child of this one. |
void |
addItems(java.util.List<? extends StateObject> items)
Adds the given list of
StateObjects as children of this one. |
void |
addListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
Registers the given
IListChangeListener for the specified list. |
boolean |
canMoveDown(StateObject item)
Determines whether the given
StateObject can be moved down by one position in the
list owned by its parent. |
boolean |
canMoveUp(StateObject item)
Determines whether the given
StateObject can be moved up by one position in the list
owned by its parent. |
FunctionExpression |
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 |
getFunctionName()
Returns the name of the native database function.
|
java.lang.String |
getIdentifier()
Returns the JPQL identifier of this expression.
|
StateObject |
getItem(int index)
Returns the
StateObject at the given positions from the list |
java.lang.String |
getQuotedFunctionName()
Returns the quoted name of the native database function.
|
boolean |
hasFunctionName()
Determines whether the name of the native SQL function has been specified.
|
boolean |
hasItems()
Determines whether this
StateObject has any children. |
boolean |
isEquivalent(StateObject stateObject)
Determines whether the given
StateObject is equivalent to this one, i.e. |
ListIterable<StateObject> |
items()
Returns an
ListIterable over the children. |
int |
itemsSize()
Returns the number of children this list holder has.
|
StateObject |
moveDown(StateObject item)
Moves the given
StateObject down by one position in the list owned by its parent. |
StateObject |
moveUp(StateObject item)
Moves the given
StateObject up by one position in the list owned by its parent. |
void |
removeItem(StateObject item)
Removes the given
StateObject from the list of children. |
void |
removeItems(java.util.Collection<StateObject> items)
Removes the given
StateObject from the list of children. |
void |
removeListChangeListener(java.lang.String listName,
IListChangeListener<StateObject> listener)
Unregisters the given
IListChangeListener that was registered for the specified list. |
void |
setExpression(FunctionExpression 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 |
setFunctionName(java.lang.String functionName)
Sets the unquoted name of the native database function.
|
addPropertyChangeListener, children, decorate, equals, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, removePropertyChangeListener, setExpression, setParent, toString, toString, toText
addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, removePropertyChangeListener, setParent, toString, toText
public static final java.lang.String ARGUMENTS_LIST
public static final java.lang.String FUNCTION_NAME_PROPERTY
public FunctionExpressionStateObject(StateObject parent)
AbstractFunctionExpressionStateObject
.parent
- The parent of this state object, which cannot be null
java.lang.NullPointerException
- The given parent cannot be null
public FunctionExpressionStateObject(StateObject parent, java.lang.String identifier, java.lang.String functionName, java.util.List<? extends StateObject> arguments)
AbstractFunctionExpressionStateObject
.parent
- The parent of this state object, which cannot be null
identifier
- The JPQL identifier of the SQL expressionfunctionName
- The name of the native database functionarguments
- The list of StateObject
representing the arguments to pass to the
native database functionjava.lang.NullPointerException
- The given parent cannot be null
public void accept(StateObjectVisitor visitor)
StateObject
by the given visitor
.accept
in interface StateObject
visitor
- The visitor
to visit this objectpublic <S extends StateObject> S addItem(S item)
StateObject
as a child of this one.addItem
in interface ListHolderStateObject<StateObject>
item
- The child StateObject
to become a child of this one
return The given itempublic void addItems(java.util.List<? extends StateObject> items)
StateObjects
as children of this one.addItems
in interface ListHolderStateObject<StateObject>
items
- The StateObjects
to become children of this onepublic void addListChangeListener(java.lang.String listName, IListChangeListener<StateObject> listener)
IListChangeListener
for the specified list. The listener will be
notified only when items are added, removed, moved from the list.addListChangeListener
in interface ListHolderStateObject<StateObject>
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 changespublic boolean canMoveDown(StateObject item)
StateObject
can be moved down by one position in the
list owned by its parent.canMoveDown
in interface ListHolderStateObject<StateObject>
item
- The StateObject
that could potentially be moved downtrue
if the object can be moved down by one unit; false
otherwisepublic boolean canMoveUp(StateObject item)
StateObject
can be moved up by one position in the list
owned by its parent.canMoveUp
in interface ListHolderStateObject<StateObject>
item
- The StateObject
that could potentially be moved uptrue
if the object can be moved up by one unit; false
otherwisepublic FunctionExpression 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 getFunctionName()
public java.lang.String getIdentifier()
public StateObject getItem(int index)
StateObject
at the given positions from the listgetItem
in interface ListHolderStateObject<StateObject>
index
- The position of the StateObject
to retrieveStateObject
at the given positionpublic java.lang.String getQuotedFunctionName()
public boolean hasFunctionName()
true
if the function name has been specified; false
otherwisepublic boolean hasItems()
StateObject
has any children.hasItems
in interface ListHolderStateObject<StateObject>
true
if this StateObject
has children; false
otherwisepublic 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 AbstractStateObject
stateObject
- The StateObject
to compare its content to this onetrue
if both object are equivalent; false
otherwisepublic ListIterable<StateObject> items()
ListIterable
over the children.items
in interface ListHolderStateObject<StateObject>
ListIterable
that is iterating over the childrenpublic int itemsSize()
itemsSize
in interface ListHolderStateObject<StateObject>
StateObjects
that are children of this onepublic StateObject moveDown(StateObject item)
StateObject
down by one position in the list owned by its parent.moveDown
in interface ListHolderStateObject<StateObject>
item
- The StateObject
to move down in the listpublic StateObject moveUp(StateObject item)
StateObject
up by one position in the list owned by its parent.moveUp
in interface ListHolderStateObject<StateObject>
item
- The StateObject
to move up in the listpublic void removeItem(StateObject item)
StateObject
from the list of children.removeItem
in interface ListHolderStateObject<StateObject>
item
- The child StateObject
to not longer be a childpublic void removeItems(java.util.Collection<StateObject> items)
StateObject
from the list of children.removeItems
in interface ListHolderStateObject<StateObject>
items
- The StateObjects
to remove from this onepublic void removeListChangeListener(java.lang.String listName, IListChangeListener<StateObject> listener)
IListChangeListener
that was registered for the specified list.
The listener will no longer be notified only when items are added, removed, moved from the
list.removeListChangeListener
in interface ListHolderStateObject<StateObject>
listName
- The name of the list for which the listener was registeredlistener
- The listener to unregisterpublic void setExpression(FunctionExpression 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 SQL expressionpublic void setFunctionName(java.lang.String functionName)
functionName
- The new name of the native database function, which should be unquotedEclipseLink 2.6.3, "build v20160428-59c81c5" API Reference