Class PEnumDescriptor<T extends PEnumValue<T>>

    • Constructor Detail

      • PEnumDescriptor

        public PEnumDescriptor​(java.lang.String packageName,
                               java.lang.String name,
                               java.util.function.Supplier<PEnumBuilder<T>> provider)
    • Method Detail

      • getType

        @Nonnull
        public PType getType()
        Returns:
        Get the field type.
      • getValues

        @Nonnull
        public abstract T[] getValues()
        Returns:
        The array of enum instances.
      • findById

        @Nullable
        public abstract T findById​(int id)
        Parameters:
        id - Value to look up enum from.
        Returns:
        Enum if found, null otherwise.
      • findByName

        @Nullable
        public abstract T findByName​(java.lang.String name)
        Parameters:
        name - Name to look up enum from.
        Returns:
        Enum if found, null otherwise.
      • valueForId

        @Nonnull
        public T valueForId​(int id)
        Parameters:
        id - Value to look up enum from.
        Returns:
        The enum value.
        Throws:
        java.lang.IllegalArgumentException - If value not found.
      • valueForName

        @Nonnull
        public T valueForName​(java.lang.String name)
        Parameters:
        name - Name to look up enum from.
        Returns:
        The enum value.
        Throws:
        java.lang.IllegalArgumentException - If value not found.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getBuilderSupplier

        protected java.util.function.Supplier<PEnumBuilder<T>> getBuilderSupplier()