Class AbstractShapeBuilder<B extends AbstractShapeBuilder,​S extends Shape>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      B addMember​(MemberShape member)
      Adds a member to the shape IFF the shape supports members.
      B addTrait​(Trait trait)
      Adds a trait to the shape builder, replacing any conflicting traits.
      B addTraits​(java.util.Collection<Trait> traitsToAdd)
      Adds traits from an iterator to the shape builder, replacing any conflicting traits.
      B clearTraits()
      Removes all traits.
      ShapeId getId()
      Gets the shape ID of the builder.
      abstract ShapeType getShapeType()
      Gets the type of shape being built.
      SourceLocation getSourceLocation()
      Gets the source location of a value.
      B id​(java.lang.String shapeId)
      Sets the shape ID of the shape.
      B id​(ShapeId shapeId)
      Sets the shape ID of the shape.
      B removeTrait​(java.lang.String traitId)
      Removes a trait from the shape builder.
      B removeTrait​(ShapeId traitId)
      Removes a trait from the shape builder.
      B source​(java.lang.String filename, int line, int column)
      Sets the source location of the shape.
      B source​(SourceLocation sourceLocation)
      Sets the source location of the shape.
      B traits​(java.util.Collection<Trait> traitsToSet)
      Replace all traits in the builder.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface software.amazon.smithy.utils.SmithyBuilder

        build
    • Method Detail

      • getShapeType

        public abstract ShapeType getShapeType()
        Gets the type of shape being built.
        Returns:
        Returns the shape type.
      • getId

        public ShapeId getId()
        Gets the shape ID of the builder.
        Returns:
        Returns null if no shape ID is set.
      • id

        public final B id​(ShapeId shapeId)
        Sets the shape ID of the shape.
        Parameters:
        shapeId - Shape ID to set.
        Returns:
        Returns the builder.
      • id

        public final B id​(java.lang.String shapeId)
        Sets the shape ID of the shape.
        Parameters:
        shapeId - Absolute shape ID string to set.
        Returns:
        Returns the builder.
        Throws:
        ShapeIdSyntaxException - if the shape ID is invalid.
      • source

        public final B source​(SourceLocation sourceLocation)
        Sets the source location of the shape.
        Parameters:
        sourceLocation - Source location to set.
        Returns:
        Returns the builder.
      • source

        public final B source​(java.lang.String filename,
                              int line,
                              int column)
        Sets the source location of the shape.
        Parameters:
        filename - Name of the file in which the shape was defined.
        line - Line number in the file where the shape was defined.
        column - Column number of the line where the shape was defined.
        Returns:
        Returns the builder.
      • traits

        public final B traits​(java.util.Collection<Trait> traitsToSet)
        Replace all traits in the builder.
        Parameters:
        traitsToSet - Sequence of traits to set on the builder.
        Returns:
        Returns the builder.
      • addTraits

        public final B addTraits​(java.util.Collection<Trait> traitsToAdd)
        Adds traits from an iterator to the shape builder, replacing any conflicting traits.
        Parameters:
        traitsToAdd - Sequence of traits to add to the builder.
        Returns:
        Returns the builder.
      • addTrait

        public final B addTrait​(Trait trait)
        Adds a trait to the shape builder, replacing any conflicting traits.
        Parameters:
        trait - Trait instance to add.
        Returns:
        Returns the builder.
      • removeTrait

        public final B removeTrait​(java.lang.String traitId)
        Removes a trait from the shape builder.

        A relative trait name will attempt to remove a prelude trait with the given name.

        Parameters:
        traitId - Absolute or relative ID of the trait to remove.
        Returns:
        Returns the builder.
      • removeTrait

        public final B removeTrait​(ShapeId traitId)
        Removes a trait from the shape builder.
        Parameters:
        traitId - ID of the trait to remove.
        Returns:
        Returns the builder.
      • clearTraits

        public final B clearTraits()
        Removes all traits.
        Returns:
        Returns the builder.
      • addMember

        public B addMember​(MemberShape member)
        Adds a member to the shape IFF the shape supports members.
        Parameters:
        member - Member to add to the shape.
        Returns:
        Returns the model assembler.
        Throws:
        java.lang.UnsupportedOperationException - if the shape does not support members.