Class PEnumDescriptor<T extends PEnumValue<T>>
- java.lang.Object
-
- net.morimekta.providence.descriptor.PDeclaredDescriptor<T>
-
- net.morimekta.providence.descriptor.PEnumDescriptor<T>
-
- All Implemented Interfaces:
PDescriptor
public abstract class PEnumDescriptor<T extends PEnumValue<T>> extends PDeclaredDescriptor<T>
The definition of a thrift enum.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_FIRST_VALUE
-
Constructor Summary
Constructors Constructor Description PEnumDescriptor(java.lang.String packageName, java.lang.String name, java.util.function.Supplier<PEnumBuilder<T>> provider)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description PEnumBuilder<T>builder()Get the builder for the given declared type.booleanequals(java.lang.Object o)abstract TfindById(int id)abstract TfindByName(java.lang.String name)protected java.util.function.Supplier<PEnumBuilder<T>>getBuilderSupplier()PTypegetType()abstract T[]getValues()inthashCode()java.lang.StringtoString()TvalueForId(int id)TvalueForName(java.lang.String name)-
Methods inherited from class net.morimekta.providence.descriptor.PDeclaredDescriptor
getDefaultValue, getName, getProgramName, getQualifiedName
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.morimekta.providence.descriptor.PDescriptor
getQualifiedName
-
-
-
-
Field Detail
-
DEFAULT_FIRST_VALUE
public static final int DEFAULT_FIRST_VALUE
- See Also:
- Constant Field Values
-
-
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.
-
builder
@Nonnull public PEnumBuilder<T> builder()
Description copied from class:PDeclaredDescriptorGet the builder for the given declared type.- Specified by:
builderin classPDeclaredDescriptor<T extends PEnumValue<T>>- Returns:
- The type specific builder provider.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classPDeclaredDescriptor<T extends PEnumValue<T>>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getBuilderSupplier
protected java.util.function.Supplier<PEnumBuilder<T>> getBuilderSupplier()
-
-