Class StructureShape
- java.lang.Object
-
- software.amazon.smithy.model.shapes.Shape
-
- software.amazon.smithy.model.shapes.StructureShape
-
- All Implemented Interfaces:
java.lang.Comparable<Shape>
,FromSourceLocation
,ToShapeId
,Tagged
,ToSmithyBuilder<StructureShape>
public final class StructureShape extends Shape implements ToSmithyBuilder<StructureShape>
Structure shape that maps shape names to members.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StructureShape.Builder
Builder used to create aStructureShape
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <R> R
accept(ShapeVisitor<R> cases)
Dispatches the shape to the appropriateShapeVisitor
method.java.util.Optional<StructureShape>
asStructureShape()
static StructureShape.Builder
builder()
boolean
equals(java.lang.Object other)
java.util.Map<java.lang.String,MemberShape>
getAllMembers()
Gets the members of the shape.java.util.Optional<MemberShape>
getMember(java.lang.String name)
Get a specific member by name.java.util.List<java.lang.String>
getMemberNames()
Returns an ordered list of member names based on the order they are defined in the model.java.util.Collection<MemberShape>
members()
Gets all of the members contained in the shape.StructureShape.Builder
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.-
Methods inherited from class software.amazon.smithy.model.shapes.Shape
asBigDecimalShape, asBigIntegerShape, asBlobShape, asBooleanShape, asByteShape, asDocumentShape, asDoubleShape, asFloatShape, asIntegerShape, asListShape, asLongShape, asMapShape, asMemberShape, asOperationShape, asResourceShape, asServiceShape, asSetShape, asShortShape, asStringShape, asTimestampShape, asUnionShape, compareTo, expectTrait, findMemberTrait, findTrait, findTrait, getAllTraits, getId, getMemberTrait, getSourceLocation, getTags, getTrait, getType, hashCode, hasTrait, hasTrait, hasTrait, isBigDecimalShape, isBigIntegerShape, isBlobShape, isBooleanShape, isByteShape, isDocumentShape, isDoubleShape, isFloatShape, isIntegerShape, isListShape, isLongShape, isMapShape, isMemberShape, isOperationShape, isResourceShape, isServiceShape, isSetShape, isShortShape, isStringShape, isStructureShape, isTimestampShape, isUnionShape, shapeToBuilder, toShapeId, toString
-
-
-
-
Method Detail
-
builder
public static StructureShape.Builder builder()
- Returns:
- Creates a new StructureShape builder.
-
toBuilder
public StructureShape.Builder toBuilder()
Description copied from interface:ToSmithyBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToSmithyBuilder<StructureShape>
- Returns:
- a builder for type T
-
accept
public <R> R accept(ShapeVisitor<R> cases)
Description copied from class:Shape
Dispatches the shape to the appropriateShapeVisitor
method.
-
asStructureShape
public java.util.Optional<StructureShape> asStructureShape()
- Overrides:
asStructureShape
in classShape
- Returns:
- Optionally returns the shape as a
StructureShape
.
-
getAllMembers
public java.util.Map<java.lang.String,MemberShape> getAllMembers()
Gets the members of the shape.- Returns:
- Returns the immutable member map.
-
getMemberNames
public java.util.List<java.lang.String> getMemberNames()
Returns an ordered list of member names based on the order they are defined in the model.- Returns:
- Returns an immutable list of member names.
-
getMember
public java.util.Optional<MemberShape> getMember(java.lang.String name)
Get a specific member by name.- Parameters:
name
- Name of the member to retrieve.- Returns:
- Returns the optional member.
-
members
public java.util.Collection<MemberShape> members()
Description copied from class:Shape
Gets all of the members contained in the shape.
-
-