Class InMemoryJobEvent

java.lang.Object
it.tidalwave.accounting.model.impl.InMemoryJobEvent
All Implemented Interfaces:
JobEvent, it.tidalwave.role.Identifiable, it.tidalwave.util.As
Direct Known Subclasses:
InMemoryFlatJobEvent, InMemoryJobEventGroup, InMemoryTimedJobEvent

@Immutable public abstract class InMemoryJobEvent extends Object implements JobEvent
This class models a single job event.
Author:
Fabrizio Giudici
  • Field Details Link icon

    • id Link icon

      @Nonnull protected final it.tidalwave.util.Id id
    • name Link icon

      @Nonnull protected final String name
    • description Link icon

      @Nonnull protected final String description
  • Constructor Details Link icon

    • InMemoryJobEvent Link icon

      protected InMemoryJobEvent(@Nonnull JobEvent.Builder builder)
      Creates a new instance from a builder.
      Parameters:
      builder - the builder
  • Method Details Link icon

    • builder Link icon

      @Nonnull public static JobEvent.Builder builder()
      Creates a new builder.
      Returns:
      the builder
    • getDateTime Link icon

      @Nonnull public abstract LocalDateTime getDateTime()
      Returns the datetime of the event.
      Returns:
      the date
    • getDuration Link icon

      @Nonnull public abstract Duration getDuration()
      Returns the duration of the event.
      Returns:
      the duration
    • getEarnings Link icon

      @Nonnull public abstract Money getEarnings()
      Returns the earnings for the event.
      Returns:
      the earnings
    • toBuilder Link icon

      @Nonnull public abstract JobEvent.Builder toBuilder()
      Returns a builder pre-populated with all the attributes.
      Specified by:
      toBuilder in interface JobEvent
      Returns:
      the builder