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
Shapes.-
Method Summary
Modifier and TypeMethodDescriptionaddMember(MemberShape member) Adds a member to the shape IFF the shape supports members.final BAdds a trait to the shape builder, replacing any conflicting traits.final BaddTraits(Collection<Trait> traitsToAdd) Adds traits from an iterator to the shape builder, replacing any conflicting traits.final BRemoves all traits.getId()Gets the shape ID of the builder.abstract ShapeTypeGets the type of shape being built.Gets the source location of a value.final BSets the shape ID of the shape.Sets the shape ID of the shape.final BremoveTrait(String traitId) Removes a trait from the shape builder.final BremoveTrait(ShapeId traitId) Removes a trait from the shape builder.final BSets the source location of the shape.final Bsource(SourceLocation sourceLocation) Sets the source location of the shape.final Btraits(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, waitMethods inherited from interface software.amazon.smithy.utils.SmithyBuilder
build
-
Method Details
-
getSourceLocation
Description copied from interface:FromSourceLocationGets the source location of a value.- Specified by:
getSourceLocationin 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.
-