Class DecoratedDefSeg

    • Field Detail

      • constantDimension

        public static final java.util.regex.Pattern constantDimension
      • name

        protected java.lang.String name
      • dims

        protected int[] dims
      • offsets

        protected int[] offsets
      • variant

        protected CipPath variant
      • documentation

        protected java.lang.String documentation
    • Constructor Detail

      • DecoratedDefSeg

        protected DecoratedDefSeg()
    • Method Detail

      • getDocumentation

        public java.lang.String getDocumentation()
      • setDocumentation

        public void setDocumentation​(java.lang.String documentation)
      • updateSegType

        protected void updateSegType()
      • isBoolHost

        public boolean isBoolHost()
        Description copied from class: DataDefinitionSeg
        Some elementary data types (the integer and word types) can be hosts for named bits within structures. This method is overridden in the necessary places to support this. It corresponds to subclasses of BaseDataType that implement the BoolHost interface.
        Overrides:
        isBoolHost in class DataDefinitionSeg
        Returns:
      • isBoolImpl

        public boolean isBoolImpl()
        Description copied from class: DataDefinitionSeg
        Size calculations for boolean min and max must defer to .getSize() to get the right answer for boolean arrays.
        Overrides:
        isBoolImpl in class DataDefinitionSeg
        Returns:
      • getSizeImpl

        public int getSizeImpl​(DataContext ctx)
        Description copied from class: DataDefinitionSeg
        Return the number of bytes occupied by a single instance of the given data type. When the data is indirect, size is zero. When the data is variable length, size is -1;
        Specified by:
        getSizeImpl in class DataDefinitionSeg
        Returns:
        Number of bytes.
      • minSize

        public int minSize​(DataContext ctx)
        Description copied from class: DataDefinitionSeg
        Some data types need to offer a range of sizes for the encoded form of their data. The common case is fixed.
        Overrides:
        minSize in class DataDefinitionSeg
        Returns:
      • maxSize

        public int maxSize​(DataContext ctx)
        Description copied from class: DataDefinitionSeg
        Some data types need to offer a range of sizes for the encoded form of their data. The common case is fixed.
        Overrides:
        maxSize in class DataDefinitionSeg
        Returns:
      • alignment

        public int alignment​(DataContext ctx)
        Description copied from class: DataDefinitionSeg
        Alignment is normally the natural size of a primitive element. Structured types and variable length types must override this method.
        Overrides:
        alignment in class DataDefinitionSeg
        Returns:
      • getSize

        public int getSize​(DataContext ctx,
                           int... dims)
        Description copied from class: DataDefinitionSeg
        Return the number of bytes occupied by the given data type. When the data is indirect (hosted elsewhere), or variable length, size is -1.

        When dimensions are provided, compute the bytes the complete array will occupy. Otherwise report the size of a singleton.

        Overrides:
        getSize in class DataDefinitionSeg
        Returns:
        Number of bytes.
      • getDims

        public int[] getDims()
      • setDims

        public void setDims​(int[] dims)
      • getQty

        public int getQty()
      • getVariant

        public CipPath getVariant()
      • setVariant

        public void setVariant​(CipPath variant)
      • getOffsets

        public int[] getOffsets()
      • setOffsets

        public void setOffsets​(int[] offsets)
      • getName

        public java.lang.String getName()
      • setName

        public void setName​(java.lang.String name)
      • addDimensionToken

        public void addDimensionToken​(java.lang.String dim)
      • concatDimensions

        protected int[] concatDimensions​(int[] outer)
      • concatOffsets

        protected int[] concatOffsets​(int[] outer)
      • construct

        protected BaseDataType<?> construct​(int[] dimensions,
                                            DataContext ctx)
        Description copied from class: DataDefinitionSeg
        Construct an instance of the type represented by this definition, using the given dimensions. This is an implementation detail that permits a DecoratedDefSeg to create arrays.

        Use the provided context to look up any ambiguous data types.

        Specified by:
        construct in class DataDefinitionSeg
        Returns:
      • set

        public PathSegment set​(java.nio.ByteBuffer source,
                               boolean padded)
        Description copied from class: PathSegment
        Replace the current instance content with the decoded source bytes.

        The caller must ensure that the instance is appropriate for the bytes supplied. This permits instance re-use in optimized applications.

        Specified by:
        set in class PathSegment
        Parameters:
        source - The bytes to be decoded. The position will be left after the last byte of the decoded segment.
        padded - Alternate format selection. Packed format when false.
        Returns:
        The same instance.
      • put

        public void put​(java.nio.ByteBuffer dest,
                        boolean padded)
        Description copied from class: PathSegment
        Encode the current instance to the given destination.
        Specified by:
        put in class PathSegment
        Parameters:
        dest - The buffer receiving the complete encoded instance.
        padded - Alternate format selection. Packed format when false.
      • getBytes

        public int getBytes()
        Description copied from class: PathSegment
        Obtain the number of bytes needed to encode this segment instance in packed format.
        Specified by:
        getBytes in class PathSegment
        Returns:
        Number of bytes, assuming put() will be called with padded false.
      • getTokens

        public java.util.List<java.lang.String> getTokens()
        Specified by:
        getTokens in class PathSegment
      • simpleString

        public java.lang.String simpleString()
        Description copied from class: PathSegment
        Supply s simple descriptive name usable when browsing a hierarchy. A simple type name for elementary types, a non-detailed description for complex types.
        Specified by:
        simpleString in class PathSegment
        Returns:
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class PathSegment
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • followIn

        protected DecoratedDefSeg followIn()
        Permit subclasses to substitute a new instance of themselves when following array subscripts.
        Returns:
        A new instance with the same inner segment and no other attributes.