/** * INTERNAL: * Return a new Vector. */ public Object containerInstance(int initialCapacity) { return new IndirectList(initialCapacity); } }
/** * INTERNAL: * Just return the Vector. */ public Object buildContainerFromVector(Vector vector, AbstractSession session) { return new IndirectList(vector); }
/** * INTERNAL: * Return a new Vector. */ public Object containerInstance() { return new IndirectList(); }
@Override public <E> IndirectList<E> createIndirectList(Collection<? extends E> collection) { return new IndirectList<>(collection); }
@Override public <E> IndirectList<E> createIndirectList(int initialCapacity, int capacityIncrement) { return new IndirectList<>(initialCapacity, capacityIncrement); }
@Override public <E> IndirectList<E> createIndirectList(int initialCapacity, int capacityIncrement) { return new IndirectList<>(initialCapacity, capacityIncrement); }
@Override public <E> IndirectList<E> createIndirectList(Collection<? extends E> collection) { return new IndirectList<>(collection); }
/** * INTERNAL: * Return a clone of the specified container. */ public Object cloneFor(Object container) { if (container == null) { return null; } // Use Vector as new objects can have a Vector. try { return ((Vector)container).clone(); } catch (Exception notVector) { // Could potentially be another Collection type as well. return new IndirectList((Collection)container); } }