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 shape index 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>