Class NullableIndex

  • All Implemented Interfaces:
    KnowledgeIndex
    Direct Known Subclasses:
    BoxIndex

    public class NullableIndex
    extends java.lang.Object
    implements KnowledgeIndex
    An index that checks if a member is nullable.
    • Constructor Detail

      • NullableIndex

        public NullableIndex​(Model model)
    • Method Detail

      • isMemberNullable

        public boolean isMemberNullable​(MemberShape member,
                                        NullableIndex.CheckMode checkMode)
        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 the InputTrait or ClientOptionalTrait, 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
        public final boolean isNullable​(ToShapeId shapeId)
        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.