001package io.cui.tools.collect;
002
003import java.io.Serializable;
004import java.util.Collection;
005
006/**
007 * Represents a partial collection / sub-collection. It extends the {@link java.util.Collection} interface
008 * with {@link #isMoreAvailable()} flag. This indicates that the original {@link java.util.Collection}
009 * provides more data than the current {@link io.cui.tools.collect.PartialCollection}. It defines the lower bound for the
010 * contained types to {@link java.io.Serializable}. Currently, the only implementation is
011 * {@link io.cui.tools.collect.PartialArrayList}. It provides convenient methods for instantiation, like
012 * {@link io.cui.tools.collect.PartialArrayList#of(java.util.List, int)}
013 *
014 * @param <T> the type of the entity
015 * @author oliver
016 */
017public interface PartialCollection<T extends Serializable> extends Collection<T>, Serializable {
018
019    /**
020     * <p>isMoreAvailable.</p>
021     *
022     * @return {@code true} if more entities are available and ignored due to the given limit.
023     */
024    boolean isMoreAvailable();
025
026}