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 int
DEFAULT_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.boolean
equals(java.lang.Object o)
abstract T
findById(int id)
abstract T
findByName(java.lang.String name)
protected java.util.function.Supplier<PEnumBuilder<T>>
getBuilderSupplier()
PType
getType()
abstract T[]
getValues()
int
hashCode()
java.lang.String
toString()
T
valueForId(int id)
T
valueForName(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:PDeclaredDescriptor
Get the builder for the given declared type.- Specified by:
builder
in classPDeclaredDescriptor<T extends PEnumValue<T>>
- Returns:
- The type specific builder provider.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classPDeclaredDescriptor<T extends PEnumValue<T>>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
getBuilderSupplier
protected java.util.function.Supplier<PEnumBuilder<T>> getBuilderSupplier()
-
-