public abstract class AbstractListHolderStateObject<T extends StateObject> extends AbstractStateObject implements ListHolderStateObject<T>
StateObject that holds onto a list of children, the
methods defined in ListHolderStateObject are automatically handled here.| Modifier | Constructor and Description |
|---|---|
protected |
AbstractListHolderStateObject(StateObject parent)
Creates a new
AbstractListHolderStateObject. |
protected |
AbstractListHolderStateObject(StateObject parent,
java.util.List<? extends T> items)
Creates a new
AbstractListHolderStateObject. |
protected |
AbstractListHolderStateObject(StateObject parent,
T... items)
Creates a new
AbstractListHolderStateObject. |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addChildren(java.util.List<StateObject> children)
Adds the children of this
StateObject to the given list. |
<S extends T> |
addItem(S item)
Adds the given
StateObject as a child of this one. |
void |
addItems(java.util.List<? extends T> items)
Adds the given list of
StateObjects as children of this one. |
void |
addListChangeListener(java.lang.String listName,
IListChangeListener<T> listener)
Registers the given
IListChangeListener for the specified list. |
protected boolean |
areChildrenEquivalent(AbstractListHolderStateObject<? extends StateObject> stateObject)
Determines whether the children of this
StateObject are equivalent to the children
of the given one, i.e. the information of the StateObjects is the same. |
boolean |
canMoveDown(T stateObject)
Determines whether the given
StateObject can be moved down by one position in the
list owned by its parent. |
boolean |
canMoveUp(T stateObject)
Determines whether the given
StateObject can be moved up by one position in the list
owned by its parent. |
T |
getItem(int index)
Returns the
StateObject at the given positions from the list |
boolean |
hasItems()
Determines whether this
StateObject has any children. |
protected void |
initialize()
Initializes this state object.
|
ListIterable<? extends T> |
items()
Returns an
ListIterable over the children. |
int |
itemsSize()
Returns the number of children this list holder has.
|
protected abstract java.lang.String |
listName()
Returns the name that is uniquely identifying the list.
|
T |
moveDown(T item)
Moves the given
StateObject down by one position in the list owned by its parent. |
T |
moveUp(T item)
Moves the given
StateObject up by one position in the list owned by its parent. |
void |
removeItem(T stateObject)
Removes the given
StateObject from the list of children. |
void |
removeItems(java.util.Collection<T> items)
Removes the given
StateObject from the list of children. |
void |
removeListChangeListener(java.lang.String listName,
IListChangeListener<T> listener)
Unregisters the given
IListChangeListener that was registered for the specified list. |
protected void |
toStringItems(java.lang.Appendable writer,
boolean useComma)
Adds to the given writer a crude string representation of the children of this one.
|
acceptUnknownVisitor, acceptUnknownVisitor, addProblems, addPropertyChangeListener, areEquivalent, buildProblem, buildProblem, buildStateObject, buildStateObjects, checkParent, children, decorate, equals, findIdentificationVariable, firePropertyChanged, getChangeSupport, getDeclaration, getDecorator, getExpression, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, getType, getType, getTypeHelper, getTypeRepository, hashCode, isDecorated, isEquivalent, parent, parent, parent, removePropertyChangeListener, setExpression, setParent, toString, toString, toStringInternal, toStringItems, toText, toTextInternalclone, finalize, getClass, notify, notifyAll, wait, wait, waitaccept, addPropertyChangeListener, children, decorate, findIdentificationVariable, getDeclaration, getDecorator, getExpression, getGrammar, getManagedTypeProvider, getParent, getQueryBuilder, getRoot, isDecorated, isEquivalent, removePropertyChangeListener, setParent, toString, toTextprotected AbstractListHolderStateObject(StateObject parent)
AbstractListHolderStateObject.parent - The parent of this state object, which cannot be nulljava.lang.NullPointerException - The given parent cannot be nullprotected AbstractListHolderStateObject(StateObject parent, java.util.List<? extends T> items)
AbstractListHolderStateObject.parent - The parent of this state object, which cannot be nullitems - The list of StateObjects to add as children to this onejava.lang.NullPointerException - The given parent cannot be nullprotected AbstractListHolderStateObject(StateObject parent, T... items)
AbstractListHolderStateObject.parent - The parent of this state object, which cannot be nullitems - The list of StateObjects to add as children to this onejava.lang.NullPointerException - The given parent cannot be nullprotected void addChildren(java.util.List<StateObject> children)
StateObject to the given list.addChildren in class AbstractStateObjectchildren - The list used to store the childrenpublic <S extends T> S addItem(S item)
StateObject as a child of this one.addItem in interface ListHolderStateObject<T extends StateObject>item - The child StateObject to become a child of this one
return The given itempublic void addItems(java.util.List<? extends T> items)
StateObjects as children of this one.addItems in interface ListHolderStateObject<T extends StateObject>items - The StateObjects to become children of this onepublic void addListChangeListener(java.lang.String listName,
IListChangeListener<T> 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<T extends 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 changesprotected boolean areChildrenEquivalent(AbstractListHolderStateObject<? extends StateObject> stateObject)
StateObject are equivalent to the children
of the given one, i.e. the information of the StateObjects is the same.stateObject - The StateObject to compare its children to this one's childrentrue if both have equivalent children; false otherwisepublic boolean canMoveDown(T stateObject)
StateObject can be moved down by one position in the
list owned by its parent.canMoveDown in interface ListHolderStateObject<T extends StateObject>stateObject - The StateObject that could potentially be moved downtrue if the object can be moved down by one unit; false
otherwisepublic boolean canMoveUp(T stateObject)
StateObject can be moved up by one position in the list
owned by its parent.canMoveUp in interface ListHolderStateObject<T extends StateObject>stateObject - The StateObject that could potentially be moved uptrue if the object can be moved up by one unit; false
otherwisepublic T getItem(int index)
StateObject at the given positions from the listgetItem in interface ListHolderStateObject<T extends StateObject>index - The position of the StateObject to retrieveStateObject at the given positionpublic boolean hasItems()
StateObject has any children.hasItems in interface ListHolderStateObject<T extends StateObject>true if this StateObject has children; false otherwiseprotected void initialize()
initialize in class AbstractStateObjectpublic ListIterable<? extends T> items()
ListIterable over the children.items in interface ListHolderStateObject<T extends StateObject>ListIterable that is iterating over the childrenpublic int itemsSize()
itemsSize in interface ListHolderStateObject<T extends StateObject>StateObjects that are children of this oneprotected abstract java.lang.String listName()
public T moveDown(T item)
StateObject down by one position in the list owned by its parent.moveDown in interface ListHolderStateObject<T extends StateObject>item - The StateObject to move down in the listpublic T moveUp(T item)
StateObject up by one position in the list owned by its parent.moveUp in interface ListHolderStateObject<T extends StateObject>item - The StateObject to move up in the listpublic void removeItem(T stateObject)
StateObject from the list of children.removeItem in interface ListHolderStateObject<T extends StateObject>stateObject - The child StateObject to not longer be a childpublic void removeItems(java.util.Collection<T> items)
StateObject from the list of children.removeItems in interface ListHolderStateObject<T extends StateObject>items - The StateObjects to remove from this onepublic void removeListChangeListener(java.lang.String listName,
IListChangeListener<T> 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<T extends StateObject>listName - The name of the list for which the listener was registeredlistener - The listener to unregisterprotected void toStringItems(java.lang.Appendable writer,
boolean useComma)
throws java.io.IOException
writer - The writer used to print out the string representationuseComma - Determines whether a comma should be added after each item, except after the
last onejava.io.IOException - This should never happens, only required because Appendable is
used instead of StringBuilder for instance