Class HashmapEncoding<T>

    • Field Detail

      • internal

        protected final com.google.common.collect.BiMap<T,​java.lang.Integer> internal
      • size

        protected final int size
    • Constructor Detail

      • HashmapEncoding

        protected HashmapEncoding​(com.google.common.collect.ImmutableBiMap<T,​java.lang.Integer> indices)
    • Method Detail

      • ofComparableSet

        public static <T> HashmapEncoding<T> ofComparableSet​(java.util.Set<T> items,
                                                             java.util.Comparator<T> ordering)
      • ofList

        public static <T> HashmapEncoding<T> ofList​(java.util.List<T> orderedDistinctItems)
      • assertInvariant

        protected void assertInvariant()
      • copyOf

        public static <T> HashmapEncoding<T> copyOf​(java.util.Map<T,​java.lang.Integer> map)
      • isValid

        protected boolean isValid()
      • size

        public int size()
        Specified by:
        size in interface Encoding<T,​java.lang.Integer>
      • domain

        public java.util.stream.Stream<T> domain()
        Specified by:
        domain in interface Encoding<T,​java.lang.Integer>
      • range

        public java.util.stream.Stream<java.lang.Integer> range()
        Specified by:
        range in interface Encoding<T,​java.lang.Integer>
        Specified by:
        range in interface IntEncoding<T>
      • isInDomain

        public boolean isInDomain​(T toEncode)
        Specified by:
        isInDomain in interface Encoding<T,​java.lang.Integer>
      • isInRange

        public boolean isInRange​(java.lang.Integer toDecode)
        Specified by:
        isInRange in interface Encoding<T,​java.lang.Integer>
        Specified by:
        isInRange in interface IntEncoding<T>
      • encode

        public java.lang.Integer encode​(T item)
        Specified by:
        encode in interface Encoding<T,​java.lang.Integer>
      • decode

        public T decode​(java.lang.Integer index)
        Specified by:
        decode in interface Encoding<T,​java.lang.Integer>
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface ProperlyPrintable
        Overrides:
        toString in class java.lang.Object