Package org.hibernate.engine.spi
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 ofexecuteble actions. Responsible for sorting the executables, and calculating the affected query spaces.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceExecutableList.Sorter<ComparableExecutable>Provides a sorting interface forExecutableList.
-
Field Summary
Fields Modifier and Type Field Description static intINIT_QUEUE_LIST_SIZE
-
Constructor Summary
Constructors Constructor Description ExecutableList()Creates a new instance with the default settings.ExecutableList(boolean requiresSorting)ExecutableList(int initialCapacity)Creates a new instance with the given initial capacity.ExecutableList(int initialCapacity, boolean requiresSorting)ExecutableList(int initialCapacity, ExecutableList.Sorter<E> sorter)Creates a new instance with the given initial capacity andExecutableList.Sorter.ExecutableList(ExecutableList.Sorter<E> sorter)Creates a new instance using the givenExecutableList.Sorter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(E executable)Add anExecutableto this list.voidafterDeserialize(EventSource session)Allow theExecutables to reassociate themselves with the session after deserialization.voidclear()Clears the list of executions.Eget(int index)Set<Serializable>getQuerySpaces()Lazily constructs the querySpaces affected by the actions in the list.booleanisEmpty()Iterator<E>iterator()Returns an iterator for the list.voidreadExternal(ObjectInput in)Read this object state back in from the given stream as part of the deserialization process.ComparableExecutableremove(int index)Removes the entry at position index in the list.voidremoveLastN(int n)Removes the last n entries from the list.intsize()voidsort()Sorts the list using the natural ordering or using theExecutableList.Sorterif it's not null.StringtoString()voidwriteExternal(ObjectOutput oos)Write this list out to the given stream as part of serialization-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
INIT_QUEUE_LIST_SIZE
public static final int INIT_QUEUE_LIST_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
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 givenExecutableList.Sorter.- Parameters:
sorter- The Sorter to use; may benull
-
ExecutableList
public ExecutableList(int initialCapacity, ExecutableList.Sorter<E> sorter)Creates a new instance with the given initial capacity andExecutableList.Sorter.- Parameters:
initialCapacity- The initial capacity for instantiating the internal Listsorter- The Sorter to use; may benull
-
-
Method Detail
-
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 anExecutableto 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 theExecutableList.Sorterif 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:
iteratorin interfaceIterable<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:
writeExternalin interfaceExternalizable- 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:
readExternalin interfaceExternalizable- Parameters:
in- The stream from which to read our serial state- Throws:
IOExceptionClassNotFoundException
-
afterDeserialize
public void afterDeserialize(EventSource session)
Allow theExecutables to reassociate themselves with the session after deserialization.- Parameters:
session- The session with which to associate theExecutables
-
-