Package org.ametys.plugins.repository
Class ChainedAmetysObjectIterable<A extends AmetysObject>
- java.lang.Object
-
- org.ametys.plugins.repository.ChainedAmetysObjectIterable<A>
-
- Type Parameters:
A
- the actual type ofAmetysObject
s.
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Iterable<A>
,AmetysObjectIterable<A>
public class ChainedAmetysObjectIterable<A extends AmetysObject> extends Object implements AmetysObjectIterable<A>
Implementation of aAmetysObjectIterable
based on a list of othersAmetysObjectIterable
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
ChainedAmetysObjectIterable.ChainedIterator
-
Field Summary
Fields Modifier and Type Field Description private List<AmetysObjectIterable<A>>
_iterables
(package private) long
_size
private boolean
_sizeComputed
-
Constructor Summary
Constructors Constructor Description ChainedAmetysObjectIterable(List<AmetysObjectIterable<A>> iterables)
Creates aChainedAmetysObjectIterable
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private long
_computeSize()
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
-
_size
long _size
-
_iterables
private List<AmetysObjectIterable<A extends AmetysObject>> _iterables
-
_sizeComputed
private boolean _sizeComputed
-
-
Constructor Detail
-
ChainedAmetysObjectIterable
public ChainedAmetysObjectIterable(List<AmetysObjectIterable<A>> iterables)
Creates aChainedAmetysObjectIterable
.- 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
-
_computeSize
private long _computeSize()
-
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
-
-