Class

it.agilelab.darwin.manager

LazyAvroSchemaManager

Related Doc: package manager

Permalink

class LazyAvroSchemaManager extends AvroSchemaManager

Implementation of AvroSchemaManager that performs all the operations directly on the storage (retrievals and insertions).

Linear Supertypes
AvroSchemaManager, Logging, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LazyAvroSchemaManager
  2. AvroSchemaManager
  3. Logging
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new LazyAvroSchemaManager(connector: Connector, endianness: ByteOrder)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def extractId(avroSingleObjectEncoded: ByteBuffer): Long

    Permalink

    Extracts the schema ID from the avro single-object encoded ByteBuffer, the ByteBuffer position will be after the header when this method returns

    Extracts the schema ID from the avro single-object encoded ByteBuffer, the ByteBuffer position will be after the header when this method returns

    avroSingleObjectEncoded

    avro single-object encoded byte array

    returns

    the schema ID extracted from the input data

    Definition Classes
    AvroSchemaManager
  9. def extractId(inputStream: InputStream): Either[Array[Byte], Long]

    Permalink

    Extracts the schema ID from the avro single-object encoded at the head of this input stream.

    Extracts the schema ID from the avro single-object encoded at the head of this input stream. The input stream will have 10 bytes consumed if the first two bytes correspond to the single object encoded header, or zero bytes consumed if the InputStream supports marking; if it doesn't, the first bytes (up to 2) will be consumed and returned in the Left part of the Either.

    inputStream

    avro single-object encoded input stream

    returns

    the schema ID extracted from the input data

    Definition Classes
    AvroSchemaManager
  10. def extractId(array: Array[Byte]): Long

    Permalink

    Extracts the schema ID from the avro single-object encoded byte array

    Extracts the schema ID from the avro single-object encoded byte array

    array

    avro single-object encoded byte array

    returns

    the schema ID extracted from the input data

    Definition Classes
    AvroSchemaManager
  11. def extractSchema(array: Array[Byte]): Either[Exception, Schema]

    Permalink

    Extracts the schema from the avro single-object encoded in the input array.

    Extracts the schema from the avro single-object encoded in the input array.

    array

    avro single-object encoded array

    returns

    the schema ID extracted from the input data

    Definition Classes
    AvroSchemaManager
  12. def extractSchema(inputStream: InputStream): Either[Array[Byte], Schema]

    Permalink

    Extracts the schema from the avro single-object encoded at the head of this input stream.

    Extracts the schema from the avro single-object encoded at the head of this input stream. The input stream will have 10 bytes consumed if the first two bytes correspond to the single object encoded header, or zero bytes consumed if the InputStream supports marking; if it doesn't, the first bytes (up to 2) will be consumed and returned in the Left part of the Either

    inputStream

    avro single-object encoded input stream

    returns

    the schema ID extracted from the input data

    Definition Classes
    AvroSchemaManager
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def generateAvroSingleObjectEncoded(byteStream: OutputStream, schemaId: Long)(avroWriter: (OutputStream) ⇒ OutputStream): OutputStream

    Permalink

    Writes to the given OutputStream the Single Object Encoding header then calls the avroWriter function to possibly add data to the stream and finally returns the OutputStream

    Writes to the given OutputStream the Single Object Encoding header then calls the avroWriter function to possibly add data to the stream and finally returns the OutputStream

    byteStream

    the stream to write to

    schemaId

    id of the schema used to encode the payload

    avroWriter

    function that will be called to add user generated avro to the stream

    returns

    the input OutputStream

    Definition Classes
    AvroSchemaManager
  15. def generateAvroSingleObjectEncoded(byteStream: OutputStream, avroValue: Array[Byte], schemaId: Long): OutputStream

    Permalink

    Writes to the given OutputStream the Single Object Encoding header then the avroValue and returns the OutputStream

    Writes to the given OutputStream the Single Object Encoding header then the avroValue and returns the OutputStream

    byteStream

    the stream to write to

    avroValue

    the value to be written to the stream

    schemaId

    id of the schema used to encode the payload

    returns

    the input OutputStream

    Definition Classes
    AvroSchemaManager
  16. def generateAvroSingleObjectEncoded(avroPayload: Array[Byte], schema: Schema): Array[Byte]

    Permalink

    Create an array that creates a Single-Object encoded byte array.

    Create an array that creates a Single-Object encoded byte array. By specifications the encoded array is obtained concatenating the V1_HEADER, the schema id and the avro-encoded payload.

    avroPayload

    avro-serialized payload

    schema

    the schema used to encode the payload

    returns

    a Single-Object encoded byte array

    Definition Classes
    AvroSchemaManager
  17. def getAll: Seq[(Long, Schema)]

    Permalink

    Retrieves all registered schemas

    Retrieves all registered schemas

    returns

    A Sequence of (ID, Schema)

    Definition Classes
    LazyAvroSchemaManagerAvroSchemaManager
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. def getEndianness(): ByteOrder

    Permalink

    returns

    the configured endianness of this AvroSchemaManager instance

    Definition Classes
    AvroSchemaManager
  20. def getId(schema: Schema): Long

    Permalink

    Extracts the ID from a Schema.

    Extracts the ID from a Schema.

    schema

    a Schema with unknown ID

    returns

    the ID associated with the input schema

    Definition Classes
    AvroSchemaManager
  21. def getSchema(id: Long): Option[Schema]

    Permalink

    Extracts the Schema from its ID.

    Extracts the Schema from its ID.

    id

    a Long representing an ID

    returns

    the Schema associated to the input ID

    Definition Classes
    LazyAvroSchemaManagerAvroSchemaManager
  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. def log: Logger

    Permalink
    Definition Classes
    Logging
  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. def registerAll(schemas: Seq[Schema]): Seq[(Long, Schema)]

    Permalink

    Checks if all the input Schema elements are already in the cache.

    Checks if all the input Schema elements are already in the cache. Then, it performs an insert on the storage for all the elements not found on the cache, and then returns each input schema paired with its ID.

    schemas

    all the Schema that should be registered

    returns

    a sequence of pairs of the input schemas associated with their IDs

    Definition Classes
    LazyAvroSchemaManagerAvroSchemaManager
  29. def registerAll(schemas: Iterable[Schema]): Iterable[IdSchemaPair]

    Permalink

    JAVA API: Checks if all the input Schema elements are already in the cache.

    JAVA API: Checks if all the input Schema elements are already in the cache. Then, it performs an insert on the storage for all the elements not found on the cache, and then returns each input schema paired with its ID.

    schemas

    all the Schema that should be registered

    returns

    a sequence of pairs of the input schemas associated with their IDs

    Definition Classes
    AvroSchemaManager
  30. def reload(): AvroSchemaManager

    Permalink

    Reloads all the schemas from the previously configured storage.

    Reloads all the schemas from the previously configured storage.

    Definition Classes
    LazyAvroSchemaManagerAvroSchemaManager
  31. def retrieveLatestSchema(identifier: String): Option[(Long, Schema)]

    Permalink

    Retrieves the latest schema for a given string identifier (not to be confused with the fingerprint id).

    Retrieves the latest schema for a given string identifier (not to be confused with the fingerprint id). This API might not be implemented by all connectors, which should return None

    Definition Classes
    AvroSchemaManager
  32. def retrieveSchemaAndAvroPayload(avroSingleObjectEncoded: ByteBuffer): Schema

    Permalink

    Extracts the Schema from the ByteBuffer after the method call the ByteBuffer position will be right after the header.

    Extracts the Schema from the ByteBuffer after the method call the ByteBuffer position will be right after the header.

    avroSingleObjectEncoded

    a ByteBuffer of a Single-Object encoded payload

    returns

    the avro Schema

    Definition Classes
    AvroSchemaManager
  33. def retrieveSchemaAndAvroPayload(avroSingleObjectEncoded: Array[Byte]): (Schema, Array[Byte])

    Permalink

    Extracts a Tuple2 that contains the Schema and the Avro-encoded payload

    Extracts a Tuple2 that contains the Schema and the Avro-encoded payload

    avroSingleObjectEncoded

    a byte array of a Single-Object encoded payload

    returns

    a pair containing the Schema and the payload of the input array

    Definition Classes
    AvroSchemaManager
  34. def retrieveSchemaAndPayload(avroSingleObjectEncoded: Array[Byte]): SchemaPayloadPair

    Permalink

    Extracts a SchemaPayloadPair that contains the Schema and the Avro-encoded payload

    Extracts a SchemaPayloadPair that contains the Schema and the Avro-encoded payload

    avroSingleObjectEncoded

    a byte array of a Single-Object encoded payload

    returns

    a SchemaPayloadPair containing the Schema and the payload of the input array

    Definition Classes
    AvroSchemaManager
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def writeHeaderToStream(byteStream: OutputStream, schemaId: Long): OutputStream

    Permalink

    Writes to the given OutputStream the Single Object Encoding header and returns the OutputStream

    Writes to the given OutputStream the Single Object Encoding header and returns the OutputStream

    returns

    the input OutputStream

    Definition Classes
    AvroSchemaManager

Inherited from AvroSchemaManager

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped