Class MessageV1

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
org.apache.fineract.avro.MessageV1
All Implemented Interfaces:
Externalizable, Serializable, Comparable<org.apache.avro.specific.SpecificRecord>, org.apache.avro.generic.GenericContainer, org.apache.avro.generic.GenericRecord, org.apache.avro.generic.IndexedRecord, org.apache.avro.specific.SpecificRecord, ByteBufferSerializable

public class MessageV1 extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord, ByteBufferSerializable
See Also:
  • Field Details

    • SCHEMA$

      public static final org.apache.avro.Schema SCHEMA$
  • Constructor Details

    • MessageV1

      public MessageV1()
      Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should use newBuilder().
    • MessageV1

      public MessageV1(Long id, String source, String type, String category, String createdAt, String businessDate, String tenantId, String idempotencyKey, String dataschema, ByteBuffer data)
      All-args constructor.
      Parameters:
      id - The ID of the message to be sent
      source - A unique identifier of the source service
      type - The type of event the payload refers to. For example LoanApprovedBusinessEvent
      category - The category of event the payload refers to. For example LOAN
      createdAt - The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30
      businessDate - The business date when the event has been raised; in ISO_LOCAL_DATE format. For example 2011-12-03
      tenantId - The tenantId that the event has been sent from. For example default
      idempotencyKey - The idempotency key for this particular event for consumer de-duplication
      dataschema - The fully qualified name of the schema of the event payload. For example org.apache.fineract.avro.loan.v1.LoanAccountDataV1
      data - The payload data serialized into Avro bytes
  • Method Details

    • getClassSchema

      public static org.apache.avro.Schema getClassSchema()
    • getEncoder

      public static org.apache.avro.message.BinaryMessageEncoder<MessageV1> getEncoder()
      Return the BinaryMessageEncoder instance used by this class.
      Returns:
      the message encoder used by this class
    • getDecoder

      public static org.apache.avro.message.BinaryMessageDecoder<MessageV1> getDecoder()
      Return the BinaryMessageDecoder instance used by this class.
      Returns:
      the message decoder used by this class
    • createDecoder

      public static org.apache.avro.message.BinaryMessageDecoder<MessageV1> createDecoder(org.apache.avro.message.SchemaStore resolver)
      Create a new BinaryMessageDecoder instance for this class that uses the specified SchemaStore.
      Parameters:
      resolver - a SchemaStore used to find schemas by fingerprint
      Returns:
      a BinaryMessageDecoder instance for this class backed by the given SchemaStore
    • toByteBuffer

      public ByteBuffer toByteBuffer() throws IOException
      Serializes this MessageV1 to a ByteBuffer.
      Specified by:
      toByteBuffer in interface ByteBufferSerializable
      Returns:
      a buffer holding the serialized data for this instance
      Throws:
      IOException - if this instance could not be serialized
    • fromByteBuffer

      public static MessageV1 fromByteBuffer(ByteBuffer b) throws IOException
      Deserializes a MessageV1 from a ByteBuffer.
      Parameters:
      b - a byte buffer holding serialized data for an instance of this class
      Returns:
      a MessageV1 instance decoded from the given buffer
      Throws:
      IOException - if the given bytes could not be deserialized into an instance of this class
    • getSpecificData

      public org.apache.avro.specific.SpecificData getSpecificData()
      Overrides:
      getSpecificData in class org.apache.avro.specific.SpecificRecordBase
    • getSchema

      public org.apache.avro.Schema getSchema()
      Specified by:
      getSchema in interface org.apache.avro.generic.GenericContainer
    • get

      public Object get(int field$)
      Specified by:
      get in interface org.apache.avro.generic.IndexedRecord
    • put

      public void put(int field$, Object value$)
      Specified by:
      put in interface org.apache.avro.generic.IndexedRecord
    • getId

      public long getId()
      Gets the value of the 'id' field.
      Returns:
      The ID of the message to be sent
    • setId

      public void setId(long value)
      Sets the value of the 'id' field. The ID of the message to be sent
      Parameters:
      value - the value to set.
    • getSource

      public String getSource()
      Gets the value of the 'source' field.
      Returns:
      A unique identifier of the source service
    • setSource

      public void setSource(String value)
      Sets the value of the 'source' field. A unique identifier of the source service
      Parameters:
      value - the value to set.
    • getType

      public String getType()
      Gets the value of the 'type' field.
      Returns:
      The type of event the payload refers to. For example LoanApprovedBusinessEvent
    • setType

      public void setType(String value)
      Sets the value of the 'type' field. The type of event the payload refers to. For example LoanApprovedBusinessEvent
      Parameters:
      value - the value to set.
    • getCategory

      public String getCategory()
      Gets the value of the 'category' field.
      Returns:
      The category of event the payload refers to. For example LOAN
    • setCategory

      public void setCategory(String value)
      Sets the value of the 'category' field. The category of event the payload refers to. For example LOAN
      Parameters:
      value - the value to set.
    • getCreatedAt

      public String getCreatedAt()
      Gets the value of the 'createdAt' field.
      Returns:
      The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30
    • setCreatedAt

      public void setCreatedAt(String value)
      Sets the value of the 'createdAt' field. The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30
      Parameters:
      value - the value to set.
    • getBusinessDate

      public String getBusinessDate()
      Gets the value of the 'businessDate' field.
      Returns:
      The business date when the event has been raised; in ISO_LOCAL_DATE format. For example 2011-12-03
    • setBusinessDate

      public void setBusinessDate(String value)
      Sets the value of the 'businessDate' field. The business date when the event has been raised; in ISO_LOCAL_DATE format. For example 2011-12-03
      Parameters:
      value - the value to set.
    • getTenantId

      public String getTenantId()
      Gets the value of the 'tenantId' field.
      Returns:
      The tenantId that the event has been sent from. For example default
    • setTenantId

      public void setTenantId(String value)
      Sets the value of the 'tenantId' field. The tenantId that the event has been sent from. For example default
      Parameters:
      value - the value to set.
    • getIdempotencyKey

      public String getIdempotencyKey()
      Gets the value of the 'idempotencyKey' field.
      Returns:
      The idempotency key for this particular event for consumer de-duplication
    • setIdempotencyKey

      public void setIdempotencyKey(String value)
      Sets the value of the 'idempotencyKey' field. The idempotency key for this particular event for consumer de-duplication
      Parameters:
      value - the value to set.
    • getDataschema

      public String getDataschema()
      Gets the value of the 'dataschema' field.
      Returns:
      The fully qualified name of the schema of the event payload. For example org.apache.fineract.avro.loan.v1.LoanAccountDataV1
    • setDataschema

      public void setDataschema(String value)
      Sets the value of the 'dataschema' field. The fully qualified name of the schema of the event payload. For example org.apache.fineract.avro.loan.v1.LoanAccountDataV1
      Parameters:
      value - the value to set.
    • getData

      public ByteBuffer getData()
      Gets the value of the 'data' field.
      Returns:
      The payload data serialized into Avro bytes
    • setData

      public void setData(ByteBuffer value)
      Sets the value of the 'data' field. The payload data serialized into Avro bytes
      Parameters:
      value - the value to set.
    • newBuilder

      public static MessageV1.Builder newBuilder()
      Creates a new MessageV1 RecordBuilder.
      Returns:
      A new MessageV1 RecordBuilder
    • newBuilder

      public static MessageV1.Builder newBuilder(MessageV1.Builder other)
      Creates a new MessageV1 RecordBuilder by copying an existing Builder.
      Parameters:
      other - The existing builder to copy.
      Returns:
      A new MessageV1 RecordBuilder
    • newBuilder

      public static MessageV1.Builder newBuilder(MessageV1 other)
      Creates a new MessageV1 RecordBuilder by copying an existing MessageV1 instance.
      Parameters:
      other - The existing instance to copy.
      Returns:
      A new MessageV1 RecordBuilder
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException
    • hasCustomCoders

      protected boolean hasCustomCoders()
      Overrides:
      hasCustomCoders in class org.apache.avro.specific.SpecificRecordBase
    • customEncode

      public void customEncode(org.apache.avro.io.Encoder out) throws IOException
      Overrides:
      customEncode in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException
    • customDecode

      public void customDecode(org.apache.avro.io.ResolvingDecoder in) throws IOException
      Overrides:
      customDecode in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException