Interface WriteEventAdapter

All Known Subinterfaces:
EventAdapter
All Known Implementing Classes:
IdentityEventAdapter$

public interface WriteEventAdapter
Facility to convert to specialised data models, as may be required by specialized persistence Journals.

Typical use cases include (but are not limited to):

  • adding metadata, a.k.a. "tagging" - by wrapping objects into tagged counterparts
  • manually converting to the Journals storage format, such as JSON, BSON or any specialised binary format
  • splitting up large events into sequences of smaller ones
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the manifest (type hint) that will be provided in the fromJournal method.
    Convert domain event to journal event type.
  • Method Details

    • manifest

      String manifest(Object event)
      Return the manifest (type hint) that will be provided in the fromJournal method. Use "" if manifest is not needed.
    • toJournal

      Object toJournal(Object event)
      Convert domain event to journal event type.

      Some journal may require a specific type to be returned to them, for example if a primary key has to be associated with each event then a journal may require adapters to return com.example.myjournal.EventWithPrimaryKey(event, key).

      The toJournal adaptation must be an 1-to-1 transformation. It is not allowed to drop incoming events during the toJournal adaptation.

      Parameters:
      event - the application-side domain event to be adapted to the journal model
      Returns:
      the adapted event object, possibly the same object if no adaptation was performed