Class MutableCompletableActivityBase<T>

Type Parameters:
T - the type of the optional user object
All Implemented Interfaces:
Activity, CompletableActivity, MutableActivity, MutableCompletableActivity

public class MutableCompletableActivityBase<T>
extends CompletableActivityBase<T>
implements MutableCompletableActivity
The base implementation of a mutable and completable activity.
Since:
1.0
  • Constructor Details

    • MutableCompletableActivityBase

      public MutableCompletableActivityBase()
      Constructs a new mutable activity. The initial start time will be set to Instant.now() and the end time will be equal to Instant.now() plus the value of ActivityBase.DEFAULT_DURATION.
      Since:
      1.0
    • MutableCompletableActivityBase

      public MutableCompletableActivityBase​(String name)
      Constructs a new mutable activity with the given name. The initial start time will be set to Instant.now() and the end time will be equal to Instant.now() plus the value of ActivityBase.DEFAULT_DURATION.
      Parameters:
      name - the name of the activity
      Since:
      1.0
    • MutableCompletableActivityBase

      public MutableCompletableActivityBase​(Instant startTime, Instant endTime)
      Constructs a new mutable activity with the start time and end time.
      Parameters:
      startTime - the start time of the activity
      endTime - the end time of the activity
      Since:
      1.0
    • MutableCompletableActivityBase

      public MutableCompletableActivityBase​(String name, Instant startTime, Instant endTime)
      Constructs a new mutable activity with the given name, start time, and end time.
      Parameters:
      name - the name of the activity
      startTime - the start time of the activity
      endTime - the end time of the activity
      Since:
      1.0
  • Method Details

    • setName

      public void setName​(String name)
      Description copied from interface: MutableActivity
      Sets the name of the activity.
      Specified by:
      setName in interface MutableActivity
      Parameters:
      name - the new name of the activity
    • setUserObject

      public void setUserObject​(T userObject)
      Overrides:
      setUserObject in class ActivityBase<T>
    • setStartTime

      public void setStartTime​(Instant time)
      Description copied from interface: MutableActivity
      Sets a new start time on the activity.
      Specified by:
      setStartTime in interface MutableActivity
      Parameters:
      time - the new start time
    • setEndTime

      public void setEndTime​(Instant time)
      Description copied from interface: MutableActivity
      Sets a new end time on the activity.
      Specified by:
      setEndTime in interface MutableActivity
      Parameters:
      time - the new end time
    • setDuration

      public void setDuration​(Duration duration)
      Convenience method to determine a new end time based on a duration that will be added to the current start time of the activity.
      Parameters:
      duration - the duration of the activity
      Since:
      1.0
    • getDuration

      public Duration getDuration()
      Convenience method to determine the duration between the start and the end time of the activity.
      Returns:
      the duration of the activity
    • addDuration

      public void addDuration​(Duration duration)
      Convenience method to determine a new end time based on a duration that will be added once to the current end time of the activity.
      Parameters:
      duration - the duration of the activity
      Since:
      1.0
    • addDuration

      public void addDuration​(Duration duration, long multipliedBy)
      Convenience method to determine a new end time based on a duration that will be added several times to the current end time of the activity.
      Parameters:
      duration - the duration of the activity
      multipliedBy - the number of times that the duration will be added
      Since:
      1.0
    • setPercentageComplete

      public void setPercentageComplete​(double complete)
      Description copied from interface: MutableCompletableActivity
      Returns the percentage complete value of the activity.
      Specified by:
      setPercentageComplete in interface MutableCompletableActivity
      Parameters:
      complete - the new percentage complete value (must be between 0 and 100).