Class EnumTrait
- java.lang.Object
-
- software.amazon.smithy.model.traits.AbstractTrait
-
- software.amazon.smithy.model.traits.EnumTrait
-
- All Implemented Interfaces:
FromSourceLocation
,ToNode
,ToShapeId
,Trait
,ToSmithyBuilder<EnumTrait>
public final class EnumTrait extends AbstractTrait implements ToSmithyBuilder<EnumTrait>
Constrains string values to one of the predefined enum constants.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EnumTrait.Builder
Builder used to create the enum trait.static class
EnumTrait.Provider
-
Method Summary
Modifier and Type Method Description static EnumTrait.Builder
builder()
protected Node
createNode()
The result of toNode is used for hashCodes and equality.java.util.List<java.lang.String>
getEnumDefinitionValues()
Gets the acceptable enum literal values.java.util.List<EnumDefinition>
getValues()
Gets the enum value to body.boolean
hasNames()
Checks if all of the constants of an enum define a name.EnumTrait.Builder
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.-
Methods inherited from class software.amazon.smithy.model.traits.AbstractTrait
equals, getSourceLocation, hashCode, toNode, toShapeId, toString
-
-
-
-
Field Detail
-
ID
public static final ShapeId ID
-
-
Method Detail
-
getValues
public java.util.List<EnumDefinition> getValues()
Gets the enum value to body.- Returns:
- returns the enum constant definitions.
-
getEnumDefinitionValues
public java.util.List<java.lang.String> getEnumDefinitionValues()
Gets the acceptable enum literal values.- Returns:
- returns the enum constant definitions.
-
hasNames
public boolean hasNames()
Checks if all of the constants of an enum define a name.Note that either all constants must have a name or no constants can have a name.
- Returns:
- Returns true if all constants define a name.
-
createNode
protected Node createNode()
Description copied from class:AbstractTrait
The result of toNode is used for hashCodes and equality. Subclasses must implement createNode to turn the trait into a Node. This is then cached for subsequent retrievals.- Specified by:
createNode
in classAbstractTrait
- Returns:
- Returns the trait as a node.
-
toBuilder
public EnumTrait.Builder toBuilder()
Description copied from interface:ToSmithyBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToSmithyBuilder<EnumTrait>
- Returns:
- a builder for type T
-
builder
public static EnumTrait.Builder builder()
- Returns:
- Returns an enum trait builder.
-
-