class BerDerDecoder extends AnyRef
Decodes ASN.1 BER/DER encoded messages into Spark InternalRow values.
Decoding is schema-driven: the expected Asn1Type controls how each TLV element is interpreted and converted to its Spark SQL value.
Under AUTOMATIC / IMPLICIT TAGS modules each SEQUENCE component carries a
context-specific tag [n]. The decoder inspects these tags to correctly
align present elements with their schema components even when OPTIONAL
fields are absent.
- Source
- BerDerDecoder.scala
- Alphabetic
- By Inheritance
- BerDerDecoder
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new BerDerDecoder(registry: SchemaRegistry, moduleName: String, enumeratedAsInt: Boolean = false)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def decodeBytes(bytes: Array[Byte], schema: Asn1Type): InternalRow
Decode a raw DER/BER byte array against
schema.Decode a raw DER/BER byte array against
schema. REAL elements (tag 9) are masked as OCTET STRING before BouncyCastle parsing. - def decodeNext(is: InputStream, schema: Asn1Type, requiredSchema: Option[StructType] = None): Option[InternalRow]
Read the next complete ASN.1 object from the stream and decode it against
schema.Read the next complete ASN.1 object from the stream and decode it against
schema. Returns None when the stream is exhausted.Reads one raw TLV frame before handing bytes to BouncyCastle so that REAL elements (tag 9, unknown to BC 1.80) can be masked in-place before parsing.
- def decodeValue(obj: ASN1Primitive, schema: Asn1Type): Any
Decode one ASN.1 primitive to a Spark-internal value (not a Row).
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def openParser(is: InputStream): InputStream
Return the InputStream to use for streaming.
Return the InputStream to use for streaming. Retained for API symmetry with decodeNext; the caller passes this value back to decodeNext each time.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)