Class AggregateVersionConflictException

java.lang.Object
java.lang.Throwable
java.lang.Exception
org.fuin.ddd4j.ddd.AggregateVersionConflictException
All Implemented Interfaces:
Serializable, org.fuin.objects4j.common.ExceptionShortIdentifable, org.fuin.objects4j.common.MarshalInformation<AggregateVersionConflictException.Data>

public final class AggregateVersionConflictException extends Exception implements org.fuin.objects4j.common.ExceptionShortIdentifable, org.fuin.objects4j.common.MarshalInformation<AggregateVersionConflictException.Data>
Signals a conflict between an expected and an actual version for an aggregate.
See Also:
  • Field Details

    • SHORT_ID

      public static final String SHORT_ID
      Unique short identifier of this exception.
      See Also:
    • ELEMENT_NAME

      public static final String ELEMENT_NAME
      Unique name of the element to use for XML and JSON marshalling/unmarshalling.
      See Also:
  • Constructor Details

    • AggregateVersionConflictException

      public AggregateVersionConflictException(@NotNull @NotNull EntityType aggregateType, @NotNull @NotNull AggregateRootId aggregateId, int expected, int actual)
      Constructor with all data.
      Parameters:
      aggregateType - Type of the aggregate.
      aggregateId - Unique identifier of the aggregate.
      expected - Expected version.
      actual - Actual version.
  • Method Details

    • getShortId

      public final String getShortId()
      Specified by:
      getShortId in interface org.fuin.objects4j.common.ExceptionShortIdentifable
    • getAggregateType

      @NotNull public final @NotNull String getAggregateType()
      Returns the type of the aggregate.
      Returns:
      Type.
    • getAggregateId

      @NotNull public final @NotNull String getAggregateId()
      Returns the unique identifier of the aggregate.
      Returns:
      Stream with version conflict.
    • getExpected

      public final int getExpected()
      Returns the expected version.
      Returns:
      Expected version.
    • getActual

      public final int getActual()
      Returns the actual version.
      Returns:
      Actual version.
    • getData

      Returns the exception specific data.
      Specified by:
      getData in interface org.fuin.objects4j.common.MarshalInformation<AggregateVersionConflictException.Data>
      Returns:
      Data structure that can be marshalled/unmarshalled.
    • getDataClass

      Specified by:
      getDataClass in interface org.fuin.objects4j.common.MarshalInformation<AggregateVersionConflictException.Data>
    • getDataElement

      public String getDataElement()
      Specified by:
      getDataElement in interface org.fuin.objects4j.common.MarshalInformation<AggregateVersionConflictException.Data>