Class AbstractLazyEntityList

java.lang.Object
ch.tocco.nice2.persist.core.api.entity.AbstractEntityList
ch.tocco.nice2.persist.core.api.hibernate.AbstractLazyEntityList
All Implemented Interfaces:
EntityList, Iterable<Entity>
Direct Known Subclasses:
LazyEntityList, MemoryEfficientLazyEntityList

public abstract class AbstractLazyEntityList extends AbstractEntityList
  • Field Details

    • keys

      protected final PrimaryKeyList keys
    • pageSize

      protected int pageSize
  • Constructor Details

    • AbstractLazyEntityList

      protected AbstractLazyEntityList(PrimaryKeyList keys)
  • Method Details

    • size

      public int size()
      Description copied from interface: EntityList
      Get the number of entities this list contains.
      Returns:
      The number of entities.
    • getKeys

      public PrimaryKey[] getKeys()
      Description copied from interface: EntityList
      Read 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.
    • getKey

      public PrimaryKey getKey(int index)
      Description copied from interface: EntityList
      Returns the PrimaryKey at the specified position.
    • indexOf

      public int indexOf(PrimaryKey key)
      Description copied from interface: EntityList
      Get 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

      public EntityModel getModel()
      Description copied from interface: EntityList
      Get the model of the entity type contained in this list.
      Returns:
      The model of the entity type contained in this list.
    • unwrap

      public EntityList unwrap()
      Description copied from interface: EntityList
      Unwrap to the underlying entity list.

      Wrappers of entity lists should delegate this to the list they're wrapping, implementations return this. 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: EntityList
      Set the page size. The page size determines how many objects will be loaded, once a hollow entity has been accessed.
      Parameters:
      pageSize - The new page size.
    • getPageSize

      public int getPageSize()
      Description copied from interface: EntityList
      Get the current page size.
      Returns:
      The current page size.
    • getPageCount

      public int getPageCount()
      Description copied from interface: EntityList
      Get the number of pages in this list.
      Returns:
      The number of pages in this list (size/pageSize + (size%pageSize>0 ? 1 : 0)).
    • getPageForIndex

      protected int getPageForIndex(int index)