Class AbstractShapeBuilder<B extends AbstractShapeBuilder<?,?>,S extends Shape>
java.lang.Object
software.amazon.smithy.model.shapes.AbstractShapeBuilder<B,S>
- Type Parameters:
B
- Concrete builder type.S
- Shape being created.
- All Implemented Interfaces:
FromSourceLocation
,SmithyBuilder<S>
- Direct Known Subclasses:
BigDecimalShape.Builder
,BigIntegerShape.Builder
,BlobShape.Builder
,BooleanShape.Builder
,ByteShape.Builder
,CollectionShape.Builder
,DocumentShape.Builder
,DoubleShape.Builder
,EntityShape.Builder
,FloatShape.Builder
,IntegerShape.Builder
,LongShape.Builder
,MapShape.Builder
,MemberShape.Builder
,OperationShape.Builder
,ShortShape.Builder
,StringShape.Builder
,StructureShape.Builder
,TimestampShape.Builder
,UnionShape.Builder
public abstract class AbstractShapeBuilder<B extends AbstractShapeBuilder<?,?>,S extends Shape>
extends Object
implements SmithyBuilder<S>, FromSourceLocation
Abstract builder used to create
Shape
s.-
Method Summary
Modifier and TypeMethodDescriptionaddMember
(MemberShape member) Adds a member to the shape IFF the shape supports members.final B
Adds a trait to the shape builder, replacing any conflicting traits.final B
addTraits
(Collection<Trait> traitsToAdd) Adds traits from an iterator to the shape builder, replacing any conflicting traits.final B
Removes all traits.getId()
Gets the shape ID of the builder.abstract ShapeType
Gets the type of shape being built.Gets the source location of a value.final B
Sets the shape ID of the shape.Sets the shape ID of the shape.final B
removeTrait
(String traitId) Removes a trait from the shape builder.final B
removeTrait
(ShapeId traitId) Removes a trait from the shape builder.final B
Sets the source location of the shape.final B
source
(SourceLocation sourceLocation) Sets the source location of the shape.final B
traits
(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 Details
-
getSourceLocation
Description copied from interface:FromSourceLocation
Gets the source location of a value.- Specified by:
getSourceLocation
in interfaceFromSourceLocation
- Returns:
- Returns the source location of the value.
-
getShapeType
Gets the type of shape being built.- Returns:
- Returns the shape type.
-
getId
Gets the shape ID of the builder.- Returns:
- Returns null if no shape ID is set.
-
id
Sets the shape ID of the shape.- Parameters:
shapeId
- Shape ID to set.- Returns:
- Returns the builder.
-
id
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
Sets the source location of the shape.- Parameters:
sourceLocation
- Source location to set.- Returns:
- Returns the builder.
-
source
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
Replace all traits in the builder.- Parameters:
traitsToSet
- Sequence of traits to set on the builder.- Returns:
- Returns the builder.
-
addTraits
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
Adds a trait to the shape builder, replacing any conflicting traits.- Parameters:
trait
- Trait instance to add.- Returns:
- Returns the builder.
-
removeTrait
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
Removes a trait from the shape builder.- Parameters:
traitId
- ID of the trait to remove.- Returns:
- Returns the builder.
-
clearTraits
Removes all traits.- Returns:
- Returns the builder.
-
addMember
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:
UnsupportedOperationException
- if the shape does not support members.
-