Record Class EntityMetadata.RootConfiguration

java.lang.Object
java.lang.Record
io.fluxzero.sdk.modeling.EntityMetadata.RootConfiguration
Enclosing class:
EntityMetadata

public static record EntityMetadata.RootConfiguration(EntityMetadata.RootKind kind, io.fluxzero.common.api.modeling.ModelConflictPolicy conflictPolicy, AutomaticModelHandling automaticHandling, boolean eventSourced, boolean ignoreUnknownEvents, int snapshotPeriod, int maxSnapshotCount, boolean cached, int cachingDepth, int checkpointPeriod, CommitPolicy commitPolicy, EventPublication eventPublication, EventPublicationStrategy publicationStrategy, boolean directDocument, boolean publicDocument, boolean materializeGraph, GraphProjection graphProjection, String collection, String timestampPath, String endPath) extends Record
Aggregate-neutral persistence settings of an explicitly annotated root.
  • Constructor Details

    • RootConfiguration

      public RootConfiguration(EntityMetadata.RootKind kind, io.fluxzero.common.api.modeling.ModelConflictPolicy conflictPolicy, AutomaticModelHandling automaticHandling, boolean eventSourced, boolean ignoreUnknownEvents, int snapshotPeriod, int maxSnapshotCount, boolean cached, int cachingDepth, int checkpointPeriod, CommitPolicy commitPolicy, EventPublication eventPublication, EventPublicationStrategy publicationStrategy, boolean directDocument, boolean publicDocument, boolean materializeGraph, GraphProjection graphProjection, String collection, String timestampPath, String endPath)
      Creates an instance of a RootConfiguration record class.
      Parameters:
      kind - the value for the kind record component
      conflictPolicy - the value for the conflictPolicy record component
      automaticHandling - the value for the automaticHandling record component
      eventSourced - the value for the eventSourced record component
      ignoreUnknownEvents - the value for the ignoreUnknownEvents record component
      snapshotPeriod - the value for the snapshotPeriod record component
      maxSnapshotCount - the value for the maxSnapshotCount record component
      cached - the value for the cached record component
      cachingDepth - the value for the cachingDepth record component
      checkpointPeriod - the value for the checkpointPeriod record component
      commitPolicy - the value for the commitPolicy record component
      eventPublication - the value for the eventPublication record component
      publicationStrategy - the value for the publicationStrategy record component
      directDocument - the value for the directDocument record component
      publicDocument - the value for the publicDocument record component
      materializeGraph - the value for the materializeGraph record component
      graphProjection - the value for the graphProjection record component
      collection - the value for the collection record component
      timestampPath - the value for the timestampPath record component
      endPath - the value for the endPath record component
  • Method Details

    • transitionSettings

      public EntityMetadata.TransitionSettings transitionSettings(Apply apply)
      Resolves root and handler-level transition settings without retaining either annotation shape.
    • snapshotSettings

      public EntityMetadata.SnapshotSettings snapshotSettings(boolean documentFallback)
      Resolves the shared periodic snapshot policy for this persisted root.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • kind

      public EntityMetadata.RootKind kind()
      Returns the value of the kind record component.
      Returns:
      the value of the kind record component
    • conflictPolicy

      public io.fluxzero.common.api.modeling.ModelConflictPolicy conflictPolicy()
      Returns the value of the conflictPolicy record component.
      Returns:
      the value of the conflictPolicy record component
    • automaticHandling

      public AutomaticModelHandling automaticHandling()
      Returns the value of the automaticHandling record component.
      Returns:
      the value of the automaticHandling record component
    • eventSourced

      public boolean eventSourced()
      Returns the value of the eventSourced record component.
      Returns:
      the value of the eventSourced record component
    • ignoreUnknownEvents

      public boolean ignoreUnknownEvents()
      Returns the value of the ignoreUnknownEvents record component.
      Returns:
      the value of the ignoreUnknownEvents record component
    • snapshotPeriod

      public int snapshotPeriod()
      Returns the value of the snapshotPeriod record component.
      Returns:
      the value of the snapshotPeriod record component
    • maxSnapshotCount

      public int maxSnapshotCount()
      Returns the value of the maxSnapshotCount record component.
      Returns:
      the value of the maxSnapshotCount record component
    • cached

      public boolean cached()
      Returns the value of the cached record component.
      Returns:
      the value of the cached record component
    • cachingDepth

      public int cachingDepth()
      Returns the value of the cachingDepth record component.
      Returns:
      the value of the cachingDepth record component
    • checkpointPeriod

      public int checkpointPeriod()
      Returns the value of the checkpointPeriod record component.
      Returns:
      the value of the checkpointPeriod record component
    • commitPolicy

      public CommitPolicy commitPolicy()
      Returns the value of the commitPolicy record component.
      Returns:
      the value of the commitPolicy record component
    • eventPublication

      public EventPublication eventPublication()
      Returns the value of the eventPublication record component.
      Returns:
      the value of the eventPublication record component
    • publicationStrategy

      public EventPublicationStrategy publicationStrategy()
      Returns the value of the publicationStrategy record component.
      Returns:
      the value of the publicationStrategy record component
    • directDocument

      public boolean directDocument()
      Returns the value of the directDocument record component.
      Returns:
      the value of the directDocument record component
    • publicDocument

      public boolean publicDocument()
      Returns the value of the publicDocument record component.
      Returns:
      the value of the publicDocument record component
    • materializeGraph

      public boolean materializeGraph()
      Returns the value of the materializeGraph record component.
      Returns:
      the value of the materializeGraph record component
    • graphProjection

      public GraphProjection graphProjection()
      Returns the value of the graphProjection record component.
      Returns:
      the value of the graphProjection record component
    • collection

      public String collection()
      Returns the value of the collection record component.
      Returns:
      the value of the collection record component
    • timestampPath

      public String timestampPath()
      Returns the value of the timestampPath record component.
      Returns:
      the value of the timestampPath record component
    • endPath

      public String endPath()
      Returns the value of the endPath record component.
      Returns:
      the value of the endPath record component