Class MutableActivityBase<T>

java.lang.Object
com.flexganttfx.model.activity.ActivityBase<T>
com.flexganttfx.model.activity.MutableActivityBase<T>
Type Parameters:
T - the type of the optional user object
All Implemented Interfaces:
Activity, MutableActivity
Direct Known Subclasses:
MutableCalendarActivityBase

public class MutableActivityBase<T>
extends ActivityBase<T>
implements MutableActivity
The base implementation of a mutable activity. An activity is considered mutable if it implements the MutableActivity interface. By doing so we now have access to various setter methods to alter the state of the activity.
Since:
1.0
  • Constructor Details

    • MutableActivityBase

      public MutableActivityBase()
      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
    • MutableActivityBase

      public MutableActivityBase​(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
    • MutableActivityBase

      public MutableActivityBase​(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
    • MutableActivityBase

      public MutableActivityBase​(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
    • 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