Class ExecutableList<E extends ComparableExecutable>

java.lang.Object
org.hibernate.engine.spi.ExecutableList<E>
All Implemented Interfaces:
Externalizable, Serializable, Iterable<E>

public class ExecutableList<E extends ComparableExecutable> extends Object implements Serializable, Iterable<E>, Externalizable
A list of executeble actions. Responsible for sorting the executables, and calculating the affected query spaces.
See Also:
  • Field Details

  • Constructor Details

    • ExecutableList

      public ExecutableList()
      Creates a new instance with the default settings.
    • ExecutableList

      public ExecutableList(int initialCapacity)
      Creates a new instance with the given initial capacity.
      Parameters:
      initialCapacity - The initial capacity for instantiating the internal List
    • ExecutableList

      public ExecutableList(boolean requiresSorting)
    • ExecutableList

      public ExecutableList(int initialCapacity, boolean requiresSorting)
    • ExecutableList

      public ExecutableList(ExecutableList.Sorter<E> sorter)
      Creates a new instance using the given ExecutableList.Sorter.
      Parameters:
      sorter - The Sorter to use; may be null
    • ExecutableList

      public ExecutableList(int initialCapacity, ExecutableList.Sorter<E> sorter)
      Creates a new instance with the given initial capacity and ExecutableList.Sorter.
      Parameters:
      initialCapacity - The initial capacity for instantiating the internal List
      sorter - The Sorter to use; may be null
  • Method Details

    • getQuerySpaces

      public Set<Serializable> getQuerySpaces()
      Lazily constructs the querySpaces affected by the actions in the list.
      Returns:
      the querySpaces affected by the actions in this list
    • isEmpty

      public boolean isEmpty()
      Returns:
      true if the list is empty.
    • remove

      public ComparableExecutable remove(int index)
      Removes the entry at position index in the list.
      Parameters:
      index - The index of the element to remove
      Returns:
      the entry that was removed
    • clear

      public void clear()
      Clears the list of executions.
    • removeLastN

      public void removeLastN(int n)
      Removes the last n entries from the list.
      Parameters:
      n - The number of elements to remove.
    • add

      public boolean add(E executable)
      Add an Executable to this list.
      Parameters:
      executable - the executable to add to the list
      Returns:
      true if the object was added to the list
    • sort

      public void sort()
      Sorts the list using the natural ordering or using the ExecutableList.Sorter if it's not null.
    • size

      public int size()
      Returns:
      the current size of the list
    • get

      public E get(int index)
      Parameters:
      index - The index of the element to retrieve
      Returns:
      The element at specified index
    • iterator

      public Iterator<E> iterator()
      Returns an iterator for the list. Wraps the list just in case something tries to modify it.
      Specified by:
      iterator in interface Iterable<E extends ComparableExecutable>
      Returns:
      an unmodifiable iterator
    • writeExternal

      public void writeExternal(ObjectOutput oos) throws IOException
      Write this list out to the given stream as part of serialization
      Specified by:
      writeExternal in interface Externalizable
      Parameters:
      oos - The stream to which to serialize our state
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Read this object state back in from the given stream as part of the deserialization process.
      Specified by:
      readExternal in interface Externalizable
      Parameters:
      in - The stream from which to read our serial state
      Throws:
      IOException
      ClassNotFoundException
    • afterDeserialize

      public void afterDeserialize(EventSource session)
      Allow the Executables to reassociate themselves with the session after deserialization.
      Parameters:
      session - The session with which to associate the Executables
    • toString

      public String toString()
      Overrides:
      toString in class Object