Class MultiEntityList
java.lang.Object
ch.tocco.nice2.persist.core.api.entity.AbstractEntityList
ch.tocco.nice2.persist.core.api.util.MultiEntityList
- All Implemented Interfaces:
EntityList,Iterable<Entity>
A wrapper to handle multiple
entity lists as one.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ch.tocco.nice2.persist.core.api.entity.AbstractEntityList
AbstractEntityList.SimpleIteratorNested classes/interfaces inherited from interface ch.tocco.nice2.persist.core.api.entity.EntityList
EntityList.Filter -
Constructor Summary
ConstructorsConstructorDescriptionMultiEntityList(boolean allowDuplicate, EntityList... entityLists) MultiEntityList(EntityList... entityLists) -
Method Summary
Modifier and TypeMethodDescriptionget(int index, boolean eager) Get the entity at the specified index.getKey(int index) Returns the PrimaryKey at the specified position.getKeys()Read in subclasses if this array can contain null values or not.Get the entity manager.getModel()Get the model of the entity type contained in this list.intWARNING: This is only accurate if setPageSize() has been called before.intWARNING: Returns the page size of the first list in this collection.intindexOf(PrimaryKey key) Get the index within the list of the entity with the specified key.voidsetPageSize(int pageSize) Set the page size.intsize()Get the number of entities this list contains.unwrap()Unwrap to the underlying entity list.Methods inherited from class ch.tocco.nice2.persist.core.api.entity.AbstractEntityList
contains, expect, expectAtLeast, expectAtMost, get, get, get, isEmpty, iterator, toList, toListMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ch.tocco.nice2.persist.core.api.entity.EntityList
doWithSingleResult, doWithSingleResultOr, expectAtMostOrThrow, expectOr, expectOrThrow, getFirstEntity, getOnlyResult, getOptionalOnlyResult, getOptionalOnlyResult, requireFirstEntity, spliterator, stream
-
Constructor Details
-
MultiEntityList
- Throws:
PersistException- See Also:
-
MultiEntityList
- Throws:
PersistException
-
-
Method Details
-
size
public int size()Description copied from interface:EntityListGet the number of entities this list contains.- Returns:
- The number of entities.
-
getKeys
Description copied from interface:EntityListRead in subclasses if this array can contain null values or not.- Returns:
- A defensive copy of the array. The size matches the
EntityList.size()method.
-
get
Description copied from interface:EntityListGet the entity at the specified index.- Parameters:
index- The index.eager-true, if a page should be eagerly loaded, if the entity's state ishollow, false otherwise.- Returns:
- The entity at the specified index potentially in
unusable state, ornull. - Throws:
PersistException
-
getKey
Description copied from interface:EntityListReturns the PrimaryKey at the specified position. -
indexOf
Description copied from interface:EntityListGet the index within the list of the entity with the specified key.- Parameters:
key- The primary key.- Returns:
- The index or -1, if there's no such entity in the list.
-
getModel
Description copied from interface:EntityListGet the model of the entity type contained in this list.- Returns:
- The model of the entity type contained in this list.
-
getManager
Description copied from interface:EntityListGet the entity manager.- Returns:
- The entity manager.
-
unwrap
Description copied from interface:EntityListUnwrap to the underlying entity list. Wrappers of entity lists should delegate this to the list they're wrapping, implementations returnthis. It may be that they cannot, and then return themselves (MultiEntityList).- Returns:
- The underlying entity list implementation.
-
setPageSize
public void setPageSize(int pageSize) Description copied from interface:EntityListSet the page size. The page size determines how many objects will be loaded, once ahollowentity has been accessed.- Parameters:
pageSize- The new page size.
-
getPageSize
public int getPageSize()WARNING: Returns the page size of the first list in this collection. Thus this is only accurate if setPageSize() has been called before.- Returns:
- The current page size.
-
getPageCount
public int getPageCount()WARNING: This is only accurate if setPageSize() has been called before.- Returns:
- The number of pages in this list
(
size/pageSize + (size%pageSize>0 ? 1 : 0)).
-