Class PropertyBindingIndex
- java.lang.Object
-
- software.amazon.smithy.model.knowledge.PropertyBindingIndex
-
- All Implemented Interfaces:
KnowledgeIndex
public final class PropertyBindingIndex extends java.lang.Object implements KnowledgeIndex
Index of member shape to associated resource property information.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
doesMemberShapeRequireProperty(MemberShape memberShape)
Returns true if member is required to have an associated property mapping.StructureShape
getInputPropertiesShape(OperationShape operation)
Resolves and returns the input shape of an operation that contains the top-level resource bound properties.StructureShape
getOutputPropertiesShape(OperationShape operation)
Resolves and returns the output shape of an operation that contains the top-level resource bound properties.java.util.Optional<java.lang.String>
getPropertyName(ShapeId memberShapeId)
Gets the property name for a given member shape.boolean
isMemberShapeProperty(MemberShape memberShape)
Returns true if a member shape positively maps to a property.static PropertyBindingIndex
of(Model model)
-
-
-
Method Detail
-
of
public static PropertyBindingIndex of(Model model)
-
getPropertyName
public java.util.Optional<java.lang.String> getPropertyName(ShapeId memberShapeId)
Gets the property name for a given member shape. Returns empty optional if the member shape does not correspond to a property.- Parameters:
memberShapeId
- the ShapeId of the member shape to get the property name for.- Returns:
- the property name for a given member shape if there is one.
-
isMemberShapeProperty
public boolean isMemberShapeProperty(MemberShape memberShape)
Returns true if a member shape positively maps to a property. {@see PropertyBindingIndex#getPropertyName(ShapeId)} will return a non-empty Optional if this method returns true.- Parameters:
memberShape
- the member shape to check- Returns:
- true if member shape maps to a property on the given resource
-
getOutputPropertiesShape
public StructureShape getOutputPropertiesShape(OperationShape operation)
Resolves and returns the output shape of an operation that contains the top-level resource bound properties. Handles adjustments made with- Parameters:
operation
- operation to retrieve output properties shape for.- Returns:
- the output shape of an operation that contains top-level resource properties.
-
getInputPropertiesShape
public StructureShape getInputPropertiesShape(OperationShape operation)
Resolves and returns the input shape of an operation that contains the top-level resource bound properties. Handles adjustments made with- Parameters:
operation
- operation to retrieve output properties shape for- Returns:
- the input shape of an operation that contains top-level resource properties.
-
doesMemberShapeRequireProperty
public boolean doesMemberShapeRequireProperty(MemberShape memberShape)
Returns true if member is required to have an associated property mapping.- Parameters:
memberShape
- the member shape to check- Returns:
- True if input/output member is required to have a property mapping.
-
-