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 ofAmetysObject
s.
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<A>
,AmetysObjectIterable<A>
public class UniqueChainedAmetysObjectIterable<A extends AmetysObject> extends Object implements AmetysObjectIterable<A>
Implementation of aAmetysObjectIterable
based on a list of othersAmetysObjectIterable
, returning duplicate objects only once.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
UniqueChainedAmetysObjectIterable.UniqueChainedIterator
-
Field Summary
Fields Modifier and Type Field Description private List<AmetysObjectIterable<A>>
_iterables
-
Constructor Summary
Constructors Constructor Description UniqueChainedAmetysObjectIterable(List<AmetysObjectIterable<A>> iterables)
Creates aUniqueChainedAmetysObjectIterable
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close the associated resources.
AnAmetysObjectIterable
must NOT be closed if any of the containedAmetysObject
is still in use.long
getSize()
Returns the number of elements in this iterable.AmetysObjectIterator<A>
iterator()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.plugins.repository.AmetysObjectIterable
spliterator, stream
-
-
-
-
Field Detail
-
_iterables
private List<AmetysObjectIterable<A extends AmetysObject>> _iterables
-
-
Constructor Detail
-
UniqueChainedAmetysObjectIterable
public UniqueChainedAmetysObjectIterable(List<AmetysObjectIterable<A>> iterables)
Creates aUniqueChainedAmetysObjectIterable
.- Parameters:
iterables
- a list ofAmetysObjectIterable
.
-
-
Method Detail
-
getSize
public long getSize()
Description copied from interface:AmetysObjectIterable
Returns the number of elements in this iterable. If this information is unavailable, returns -1.- Specified by:
getSize
in interfaceAmetysObjectIterable<A extends AmetysObject>
- Returns:
- a long
-
iterator
public AmetysObjectIterator<A> iterator()
- Specified by:
iterator
in interfaceAmetysObjectIterable<A extends AmetysObject>
- Specified by:
iterator
in interfaceIterable<A extends AmetysObject>
-
close
public void close()
Description copied from interface:AmetysObjectIterable
Close the associated resources.
AnAmetysObjectIterable
must NOT be closed if any of the containedAmetysObject
is still in use.- Specified by:
close
in interfaceAmetysObjectIterable<A extends AmetysObject>
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-