public static final class EnumShape.Builder extends StringShape.Builder
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
EnumShape.Builder |
addMember(MemberShape member)
Adds a member to the shape.
|
EnumShape.Builder |
addMember(java.lang.String memberName,
java.lang.String enumValue)
Adds a member to the builder.
|
EnumShape.Builder |
addMember(java.lang.String memberName,
java.lang.String enumValue,
java.util.function.Consumer<MemberShape.Builder> memberUpdater)
Adds a member to the builder.
|
EnumShape.Builder |
addMixin(Shape shape)
Adds a mixin to the shape.
|
EnumShape |
build() |
EnumShape.Builder |
clearMembers()
Removes all members from the builder.
|
EnumShape.Builder |
flattenMixins()
Removes mixins from a shape and flattens them into the shape.
|
ShapeType |
getShapeType()
Gets the type of shape being built.
|
EnumShape.Builder |
id(ShapeId shapeId)
Sets the shape ID of the shape.
|
EnumShape.Builder |
id(java.lang.String id)
Sets the shape ID of the shape.
|
EnumShape.Builder |
members(java.util.Collection<MemberShape> members)
Replaces the members of the builder.
|
EnumShape.Builder |
removeMember(java.lang.String member)
Removes a member by name.
|
EnumShape.Builder |
removeMixin(ToShapeId shape)
Removes a mixin from the shape by shape or ID.
|
EnumShape.Builder |
setMembersFromEnumTrait(EnumTrait trait)
Sets enum members from an
EnumTrait. |
EnumShape.Builder |
setMembersFromEnumTrait(EnumTrait trait,
boolean synthesizeNames)
Sets enum members from an
EnumTrait. |
addTrait, addTraits, clearMixins, clearTraits, getAllTraits, getId, getMember, getSourceLocation, mixins, removeTrait, removeTrait, source, source, traitsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcomparepublic EnumShape build()
build in interface software.amazon.smithy.utils.SmithyBuilder<StringShape>build in class StringShape.Builderpublic ShapeType getShapeType()
AbstractShapeBuildergetShapeType in class StringShape.Builderpublic EnumShape.Builder id(ShapeId shapeId)
AbstractShapeBuilderid in class AbstractShapeBuilder<StringShape.Builder,StringShape>shapeId - Shape ID to set.public EnumShape.Builder id(java.lang.String id)
AbstractShapeBuilderid in class AbstractShapeBuilder<StringShape.Builder,StringShape>id - Absolute shape ID string to set.public EnumShape.Builder setMembersFromEnumTrait(EnumTrait trait, boolean synthesizeNames)
EnumTrait.
This is primarily useful when converting from string shapes to enums.
trait - The EnumTrait whose values should be converted to members.synthesizeNames - Whether to synthesize names if they aren't present in the enum trait.public EnumShape.Builder setMembersFromEnumTrait(EnumTrait trait)
EnumTrait.
This is primarily useful when converting from string shapes to enums.
trait - The EnumTrait whose values should be converted to members.public EnumShape.Builder members(java.util.Collection<MemberShape> members)
members - Members to add to the builder.public EnumShape.Builder clearMembers()
AbstractShapeBuilderclearMembers in class AbstractShapeBuilder<StringShape.Builder,StringShape>public EnumShape.Builder addMember(MemberShape member)
If the member does not already have an EnumValueTrait, one will
be generated with the value being equal to the member name.
addMember in class AbstractShapeBuilder<StringShape.Builder,StringShape>member - Member to add to the shape.java.lang.UnsupportedOperationException - if the shape does not support members.public EnumShape.Builder addMember(java.lang.String memberName, java.lang.String enumValue)
memberName - Member name to add.enumValue - The value of the enum.public EnumShape.Builder addMember(java.lang.String memberName, java.lang.String enumValue, java.util.function.Consumer<MemberShape.Builder> memberUpdater)
memberName - Member name to add.enumValue - The value of the enum.memberUpdater - Consumer that can update the created member shape.public EnumShape.Builder removeMember(java.lang.String member)
Note that removing a member that was added by a mixin results in an inconsistent model. It's best to use ModelTransform to ensure that the model remains consistent when removing members.
member - Member name to remove.public EnumShape.Builder addMixin(Shape shape)
AbstractShapeBuilderaddMixin in class AbstractShapeBuilder<StringShape.Builder,StringShape>shape - Mixin to add.public EnumShape.Builder removeMixin(ToShapeId shape)
AbstractShapeBuilderremoveMixin in class AbstractShapeBuilder<StringShape.Builder,StringShape>shape - Shape or shape ID to remove.public EnumShape.Builder flattenMixins()
AbstractShapeBuilderFlattening a mixin into a shape copies the traits and members of a mixin onto the shape, effectively resulting in the same shape but with no trace of the mixin relationship.
flattenMixins in class AbstractShapeBuilder<StringShape.Builder,StringShape>