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 classEnumTrait.BuilderBuilder used to create the enum trait.static classEnumTrait.Provider
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EnumTrait.Builderbuilder()protected NodecreateNode()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.booleanhasNames()Checks if all of the constants of an enum define a name.EnumTrait.BuildertoBuilder()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:AbstractTraitThe 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:
createNodein classAbstractTrait- Returns:
- Returns the trait as a node.
-
toBuilder
public EnumTrait.Builder toBuilder()
Description copied from interface:ToSmithyBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToSmithyBuilder<EnumTrait>- Returns:
- a builder for type T
-
builder
public static EnumTrait.Builder builder()
- Returns:
- Returns an enum trait builder.
-
-