Packages

class PerDecoder extends AnyRef

Schema-driven PER decoder.

Source
PerDecoder.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PerDecoder
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PerDecoder(registry: SchemaRegistry, moduleName: String, aligned: Boolean, enumeratedAsInt: Boolean = false)

    registry

    resolved schema registry for cross-module type references

    moduleName

    the module containing the root type being decoded

    aligned

    true for Aligned PER (APER), false for Unaligned PER (UPER) Encoding rules implemented (X.691 subset):

    • NULL: 0 bits
    • BOOLEAN: 1 bit (UPER) / 1 byte (APER)
    • INTEGER constrained: bitsForRange bits as offset from lower bound
    • INTEGER unconstrained: length-determinant + big-endian two's-complement bytes
    • ENUMERATED: index in ceilLog2(count) bits; APER aligns before read
    • OCTET STRING fixed-size: raw bytes; variable: length-det + bytes
    • BIT STRING fixed-size: raw bits (APER byte-aligned); variable: length-det + bits
    • String types: length-det (octets) + UTF-8 bytes; APER aligns before each
    • SEQUENCE: extension bit (if extensible) + presence bitmap + fields
    • SEQUENCE OF / SET OF: constrained count or length-det, then elements
    • CHOICE: extension bit (if extensible) + index + value
    • OBJECT IDENTIFIER: length-det + BER-encoded OID content bytes (dot-notation output)
    • Tagged types: inner type is decoded directly (tags carry no bits in PER)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val aligned: Boolean
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def decodeBytes(bytes: Array[Byte], schema: Asn1Type): InternalRow

    Decode a complete record from a byte array.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped