Class NullableIndex
java.lang.Object
software.amazon.smithy.model.knowledge.NullableIndex
- All Implemented Interfaces:
KnowledgeIndex
- Direct Known Subclasses:
BoxIndex
An index that checks if a member is nullable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Defines the type of model consumer to assume when determining if a member should be considered nullable or always present. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
isMemberNullable
(MemberShape member) Checks if a member is nullable usingNullableIndex.CheckMode.CLIENT
.boolean
isMemberNullable
(MemberShape member, NullableIndex.CheckMode checkMode) Checks if a member is nullable using v2 nullability rules.final boolean
isNullable
(ToShapeId shapeId) Deprecated.static NullableIndex
-
Constructor Details
-
NullableIndex
-
-
Method Details
-
of
-
isMemberNullable
Checks if a member is nullable usingNullableIndex.CheckMode.CLIENT
.- Parameters:
member
- Member to check.- Returns:
- Returns true if the member is optional in non-authoritative consumers of the model like clients.
- See Also:
-
isMemberNullable
Checks if a member is nullable using v2 nullability rules.A
checkMode
parameter is required to declare what kind of model consumer is checking if the member is optional. The authoritative consumers like servers do not need to honor theInputTrait
orClientOptionalTrait
, while non-authoritative consumers like clients must honor these traits.- Parameters:
member
- Member to check.checkMode
- The mode used when checking if the member is considered nullable.- Returns:
- Returns true if the member is optional.
-
isNullable
Deprecated.Checks if the given shape is optional using Smithy IDL 1.0 semantics.This means that the default trait is ignored, the required trait is ignored, and only the box trait and sparse traits are used.
Use
isMemberNullable(MemberShape)
to check using Smithy IDL 2.0 semantics that take required, default, and other traits into account. That method also accurately returns the nullability of 1.0 members as long as the model it's checking was sent through a ModelAssembler.- Parameters:
shapeId
- Shape or shape ID to check.- Returns:
- Returns true if the shape is nullable.
-