Package org.ametys.plugins.repository
Class UniqueChainedAmetysObjectIterable<A extends AmetysObject>
java.lang.Object
org.ametys.plugins.repository.UniqueChainedAmetysObjectIterable<A>
- Type Parameters:
A- the actual type ofAmetysObjects.
- All Implemented Interfaces:
Closeable,AutoCloseable,Iterable<A>,AmetysObjectIterable<A>
public class UniqueChainedAmetysObjectIterable<A extends AmetysObject>
extends Object
implements AmetysObjectIterable<A>
Implementation of a
AmetysObjectIterable based on a list of others AmetysObjectIterable,
returning duplicate objects only once.-
Constructor Summary
ConstructorsConstructorDescriptionUniqueChainedAmetysObjectIterable(List<AmetysObjectIterable<A>> iterables) Creates aUniqueChainedAmetysObjectIterable. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the associated resources.
AnAmetysObjectIterablemust NOT be closed if any of the containedAmetysObjectis still in use.longgetSize()Returns the number of elements in this iterable.iterator()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.ametys.plugins.repository.AmetysObjectIterable
spliterator, stream
-
Constructor Details
-
UniqueChainedAmetysObjectIterable
Creates aUniqueChainedAmetysObjectIterable.- Parameters:
iterables- a list ofAmetysObjectIterable.
-
-
Method Details
-
getSize
Description copied from interface:AmetysObjectIterableReturns the number of elements in this iterable. If this information is unavailable, returns -1.- Specified by:
getSizein interfaceAmetysObjectIterable<A extends AmetysObject>- Returns:
- a long
-
iterator
- Specified by:
iteratorin interfaceAmetysObjectIterable<A extends AmetysObject>- Specified by:
iteratorin interfaceIterable<A extends AmetysObject>
-
close
Description copied from interface:AmetysObjectIterableClose the associated resources.
AnAmetysObjectIterablemust NOT be closed if any of the containedAmetysObjectis still in use.- Specified by:
closein interfaceAmetysObjectIterable<A extends AmetysObject>- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-