Interface Palette<T,​R>

  • Type Parameters:
    T - The type this palette will maintain
    R - The type of registry used to build this palette
    All Known Subinterfaces:
    Palette.Immutable<I,​IR>, Palette.Mutable<M,​MR>

    public interface Palette<T,​R>
    Represents a mapping for types to a local identifier. Can be used for mapping Objects to int id's for storage purposes, or for converting stored information to a representable format back into Objects.
    • Method Detail

      • type

        PaletteType<T,​R> type()
        Gets the type of this palette.
        Returns:
        The palette type
      • highestId

        int highestId()
        Gets the highest identifier in this palette.
        Returns:
        The highest id
      • get

        Optional<PaletteReference<T,​R>> get​(int id)
        Gets the type represented by the given identifier from the mapping.
        Parameters:
        id - The identifier
        Returns:
        The type, if found
      • get

        OptionalInt get​(T type)
        Gets the identifier for the given type T if it exists within the mapping.
        Parameters:
        type - The type
        Returns:
        The identifier, if found
      • stream

        Stream<T> stream()
        Gets all type Ts contained in this palette.
        Returns:
        All contained types