Interface ListHolderStateObject<T>

All Superinterfaces:
StateObject
All Known Implementing Classes:
AbstractFromClauseStateObject, AbstractIdentificationVariableDeclarationStateObject, AbstractListHolderStateObject, AbstractPathExpressionStateObject, CaseExpressionStateObject, CoalesceExpressionStateObject, CollectionValuedPathExpressionStateObject, ConcatExpressionStateObject, ConstructorExpressionStateObject, DerivedPathIdentificationVariableDeclarationStateObject, FromClauseStateObject, FunctionExpressionStateObject, GroupByClauseStateObject, IdentificationVariableDeclarationStateObject, InExpressionStateObject, OrderByClauseStateObject, SelectClauseStateObject, SimpleFromClauseStateObject, StateFieldPathExpressionStateObject, UpdateClauseStateObject

public interface ListHolderStateObject<T> extends StateObject
A ListHolderStateObject is a StateObject having a list of children and this gives access to some operation over the list.
Since:
2.4
Version:
2.5
  • Method Details

    • addItem

      <S extends T> S addItem(S item)
      Adds the given StateObject as a child of this one.
      Parameters:
      item - The child StateObject to become a child of this one return The given item
    • addItems

      void addItems(List<? extends T> items)
      Adds the given list of StateObjects as children of this one.
      Parameters:
      items - The StateObjects to become children of this one
    • addListChangeListener

      void addListChangeListener(String listName, IListChangeListener<T> listener)
      Registers the given IListChangeListener for the specified list. The listener will be notified only when items are added, removed, moved from the list.
      Parameters:
      listName - The name of the list for which the listener will be notified when the content of the list has changed
      listener - The listener to be notified upon changes
      Throws:
      NullPointerException - IListChangeListener cannot be null
      IllegalArgumentException - The listener is already registered with the list name
    • canMoveDown

      boolean canMoveDown(T item)
      Determines whether the given StateObject can be moved down by one position in the list owned by its parent.
      Parameters:
      item - The StateObject that could potentially be moved down
      Returns:
      true if the object can be moved down by one unit; false otherwise
    • canMoveUp

      boolean canMoveUp(T item)
      Determines whether the given StateObject can be moved up by one position in the list owned by its parent.
      Parameters:
      item - The StateObject that could potentially be moved up
      Returns:
      true if the object can be moved up by one unit; false otherwise
    • getItem

      T getItem(int index)
      Returns the StateObject at the given positions from the list
      Parameters:
      index - The position of the StateObject to retrieve
      Returns:
      The StateObject at the given position
    • hasItems

      boolean hasItems()
      Determines whether this StateObject has any children.
      Returns:
      true if this StateObject has children; false otherwise
    • items

      ListIterable<? extends T> items()
      Returns an ListIterable over the children.
      Returns:
      An ListIterable that is iterating over the children
    • itemsSize

      int itemsSize()
      Returns the number of children this list holder has.
      Returns:
      The count of StateObjects that are children of this one
    • moveDown

      T moveDown(T item)
      Moves the given StateObject down by one position in the list owned by its parent.
      Parameters:
      item - The StateObject to move down in the list
      Returns:
      The given item
    • moveUp

      T moveUp(T item)
      Moves the given StateObject up by one position in the list owned by its parent.
      Parameters:
      item - The StateObject to move up in the list
      Returns:
      The given item
    • removeItem

      void removeItem(T item)
      Removes the given StateObject from the list of children.
      Parameters:
      item - The child StateObject to not longer be a child
    • removeItems

      void removeItems(Collection<T> items)
      Removes the given StateObject from the list of children.
      Parameters:
      items - The StateObjects to remove from this one
    • removeListChangeListener

      void removeListChangeListener(String listName, IListChangeListener<T> listener)
      Unregisters the given 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.
      Parameters:
      listName - The name of the list for which the listener was registered
      listener - The listener to unregister
      Throws:
      NullPointerException - IListChangeListener cannot be null
      IllegalArgumentException - The listener was never registered with the list name