Class Model.Builder

  • All Implemented Interfaces:
    software.amazon.smithy.utils.SmithyBuilder<Model>
    Enclosing class:
    Model

    public static final class Model.Builder
    extends java.lang.Object
    implements software.amazon.smithy.utils.SmithyBuilder<Model>
    Builder used to create a Model.
    • Method Detail

      • metadata

        public Model.Builder metadata​(java.util.Map<java.lang.String,​Node> metadata)
      • putMetadataProperty

        public Model.Builder putMetadataProperty​(java.lang.String key,
                                                 Node value)
      • addShape

        public Model.Builder addShape​(Shape shape)
        Add a shape to the builder.

        MemberShape shapes are not added to the model directly. They must be added by adding their containing shapes (e.g., to add a list member, you must add the list shape that contains it). Any member shape provided to any of the methods used to add shapes to the model are ignored.

        Parameters:
        shape - Shape to add.
        Returns:
        Returns the builder.
      • addShapes

        public Model.Builder addShapes​(Model model)
        Adds the shapes of another model to the builder.
        Parameters:
        model - Model to add shapes from.
        Returns:
        Returns the builder.
      • addShapes

        public <S extends ShapeModel.Builder addShapes​(java.util.Collection<S> shapes)
        Adds a collection of shapes to the builder.
        Type Parameters:
        S - Type of shape being added.
        Parameters:
        shapes - Collection of Shapes to add.
        Returns:
        Returns the builder.
      • addShapes

        public Model.Builder addShapes​(Shape... shapes)
        Adds a variadic list of shapes.
        Parameters:
        shapes - Shapes to add.
        Returns:
        Returns the builder.
      • removeShape

        public Model.Builder removeShape​(ShapeId shapeId)
        Removes a shape from the builder by ID.

        Members of shapes are automatically removed when their containing shape is removed.

        Parameters:
        shapeId - Shape to remove.
        Returns:
        Returns the builder.
      • build

        public Model build()
        Specified by:
        build in interface software.amazon.smithy.utils.SmithyBuilder<Model>