Class StructureShape.Builder

java.lang.Object
software.amazon.smithy.model.shapes.AbstractShapeBuilder<B,S>
software.amazon.smithy.model.shapes.StructureShape.Builder
All Implemented Interfaces:
FromSourceLocation, SmithyBuilder<StructureShape>
Enclosing class:
StructureShape

public static final class StructureShape.Builder extends AbstractShapeBuilder<B,S>
Builder used to create a StructureShape.
  • Field Details

  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • build

      public StructureShape build()
      Description copied from interface: SmithyBuilder
      Creates an immutable object that is created from the properties that have been set on the builder.
      Returns:
      an instance of T
    • getShapeType

      public ShapeType getShapeType()
      Description copied from class: AbstractShapeBuilder
      Gets the type of shape being built.
      Specified by:
      getShapeType in class AbstractShapeBuilder<StructureShape.Builder,StructureShape>
      Returns:
      Returns the shape type.
    • id

      public final StructureShape.Builder id(ShapeId shapeId)
      Description copied from class: AbstractShapeBuilder
      Sets the shape ID of the shape.
      Overrides:
      id in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Parameters:
      shapeId - Shape ID to set.
      Returns:
      Returns the builder.
    • members

      public StructureShape.Builder members(Collection<MemberShape> members)
      Replaces the members of the builder.
      Parameters:
      members - Members to add to the builder.
      Returns:
      Returns the builder.
    • clearMembers

      public StructureShape.Builder clearMembers()
      Description copied from class: AbstractShapeBuilder
      Removes all members from the builder.
      Overrides:
      clearMembers in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Returns:
      Returns the builder.
    • addMember

      public StructureShape.Builder addMember(MemberShape member)
      Description copied from class: AbstractShapeBuilder
      Adds a member to the shape IFF the shape supports members.
      Overrides:
      addMember in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Parameters:
      member - Member to add to the shape.
      Returns:
      Returns the builder.
    • addMember

      public StructureShape.Builder addMember(String memberName, ShapeId target)
      Adds a member to the builder.
      Parameters:
      memberName - Member name to add.
      target - Target of the member.
      Returns:
      Returns the builder.
    • addMember

      public StructureShape.Builder addMember(String memberName, ShapeId target, Consumer<MemberShape.Builder> memberUpdater)
      Adds a member to the builder.
      Parameters:
      memberName - Member name to add.
      target - Target of the member.
      memberUpdater - Consumer that can update the created member shape.
      Returns:
      Returns the builder.
    • removeMember

      public StructureShape.Builder removeMember(String member)
      Removes a member by name.

      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.

      Parameters:
      member - Member name to remove.
      Returns:
      Returns the builder.
    • addMixin

      public StructureShape.Builder addMixin(Shape shape)
      Description copied from class: AbstractShapeBuilder
      Adds a mixin to the shape.
      Overrides:
      addMixin in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Parameters:
      shape - Mixin to add.
      Returns:
      Returns the builder.
    • removeMixin

      public StructureShape.Builder removeMixin(ToShapeId shape)
      Description copied from class: AbstractShapeBuilder
      Removes a mixin from the shape by shape or ID.
      Overrides:
      removeMixin in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Parameters:
      shape - Shape or shape ID to remove.
      Returns:
      Returns the builder.
    • flattenMixins

      public StructureShape.Builder flattenMixins()
      Description copied from class: AbstractShapeBuilder
      Removes mixins from a shape and flattens them into the shape.

      Flattening 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.

      Overrides:
      flattenMixins in class AbstractShapeBuilder<B extends software.amazon.smithy.model.shapes.NamedMembersShapeBuilder<B,S>,S extends Shape>
      Returns:
      Returns the updated builder.