Class EmployeeValue
- java.lang.Object
-
- com.stackone.stackone_client_java.models.components.EmployeeValue
-
public class EmployeeValue extends java.lang.ObjectWrapper class for an "open" enum. "Open" enums are those that are expected to evolve (particularly with the addition of enum members over time). If an open enum is used then the appearance of unexpected enum values (say in a response from an updated an API) will not bring about a runtime error thus ensuring that non-updated client versions can continue to work without error.
Note that instances are immutable and are singletons (an internal thread-safe cache is maintained to ensure that). As a consequence instances created with the same value will satisfy reference equality (via
==).This class is intended to emulate an enum (in terms of common usage and with reference equality) but with the ability to carry unknown values. Unfortunately Java does not permit the use of an instance in a switch expression but you can use the
asEnum()method (after dealing with the `Optional` appropriately).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEmployeeValue._Deserializerstatic classEmployeeValue._Serializerstatic classEmployeeValue.EmployeeValueEnum
-
Field Summary
Fields Modifier and Type Field Description static EmployeeValueDIVERSEstatic EmployeeValueFEMALEstatic EmployeeValueMALEstatic EmployeeValueNON_BINARYstatic EmployeeValueNOT_DISCLOSEDstatic EmployeeValueOTHERstatic EmployeeValueUNMAPPED_VALUE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<EmployeeValue.EmployeeValueEnum>asEnum()booleanequals(java.lang.Object obj)inthashCode()booleanisKnown()static EmployeeValueof(java.lang.String value)Returns a EmployeeValue with the given value.java.lang.StringtoString()java.lang.Stringvalue()static EmployeeValue[]values()
-
-
-
Field Detail
-
MALE
public static final EmployeeValue MALE
-
FEMALE
public static final EmployeeValue FEMALE
-
NON_BINARY
public static final EmployeeValue NON_BINARY
-
OTHER
public static final EmployeeValue OTHER
-
NOT_DISCLOSED
public static final EmployeeValue NOT_DISCLOSED
-
DIVERSE
public static final EmployeeValue DIVERSE
-
UNMAPPED_VALUE
public static final EmployeeValue UNMAPPED_VALUE
-
-
Method Detail
-
of
public static EmployeeValue of(java.lang.String value)
Returns a EmployeeValue with the given value. For a specific value the returned object will always be a singleton so reference equality is satisfied when the values are the same.- Parameters:
value- value to be wrapped as EmployeeValue
-
value
public java.lang.String value()
-
asEnum
public java.util.Optional<EmployeeValue.EmployeeValueEnum> asEnum()
-
isKnown
public boolean isKnown()
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
values
public static EmployeeValue[] values()
-
-