Class ActivityLink<A extends Activity>

java.lang.Object
com.flexganttfx.model.ActivityLink<A>
Type Parameters:
A - the type of the two activities being linked together
All Implemented Interfaces:
Activity

public class ActivityLink<A extends Activity>
extends Object
implements Activity
An activity link can be used to model any kind of dependency between two activities. In project planning applications a link would express a predecessor / successor relationship between two tasks, for example "task A must be finished before task B can begin". In other domains a link might simply express that two or more activities need to be scheduled together and that moving one of them requires all others to be moved, too.
Since:
1.0
  • Constructor Details

    • ActivityLink

      public ActivityLink​(ActivityRef<A> sourceRef, ActivityRef<A> targetRef, ActivityLink.LinkType type)
      Constructs a new activity link.
      Parameters:
      sourceRef - an activity reference pointing to the link source
      targetRef - an activity reference pointing to the link target
      type - the type of the link (E-S, S-E, S-S, E-E)
      Since:
      1.0
    • ActivityLink

      public ActivityLink​(ActivityRef<A> sourceRef, ActivityRef<A> targetRef)
      Constructs a new activity link with type ActivityLink.LinkType.END_TO_START.
      Parameters:
      sourceRef - an activity reference pointing to the link source
      targetRef - an activity reference pointing to the link target
      Since:
      1.0
  • Method Details

    • setSourceActivityRef

      public void setSourceActivityRef​(ActivityRef<A> ref)
      Sets the activity reference pointing to the source activity of the link.
      Parameters:
      ref - the source activity reference
      Since:
      1.0
    • getSourceActivityRef

      public final ActivityRef<A> getSourceActivityRef()
      Returns the activity reference pointing to the source activity of the link.
      Returns:
      the source activity reference
      Since:
      1.0
    • setTargetActivityRef

      public void setTargetActivityRef​(ActivityRef<A> ref)
      Sets the activity reference pointing to the target activity of the link.
      Parameters:
      ref - the target activity reference
      Since:
      1.0
    • getTargetActivityRef

      public final ActivityRef<A> getTargetActivityRef()
      Returns the activity reference pointing to the target activity of the link.
      Returns:
      the target activity reference
      Since:
      1.0
    • getType

      public final ActivityLink.LinkType getType()
      Returns the link type (S-S, S-E, E-S, E-E).
      Returns:
      the link type
      Since:
      1.0
    • setType

      public void setType​(ActivityLink.LinkType type)
      Sets the link type (S-S, S-E, E-S, E-E).
      Parameters:
      type - the link type
      Since:
      1.0
    • getName

      public String getName()
      Description copied from interface: Activity
      The name of the activity, for example "Flight 3441".
      Specified by:
      getName in interface Activity
      Returns:
      the name of the activity
    • getId

      public String getId()
      Description copied from interface: Activity
      The unique id of the activity.
      Specified by:
      getId in interface Activity
      Returns:
      the unique activity ID
    • getStartTime

      public final Instant getStartTime()
      Description copied from interface: Activity
      The start time of the activity.
      Specified by:
      getStartTime in interface Activity
      Returns:
      the activity start time
    • getEndTime

      public final Instant getEndTime()
      Description copied from interface: Activity
      The end time of the activity.
      Specified by:
      getEndTime in interface Activity
      Returns:
      the activity end time
    • setUserObject

      public final void setUserObject​(Object userObject)
      An optional user object that might be useful for creating a custom renderer.
      Parameters:
      userObject - an optional user object
    • getUserObject

      public final Object getUserObject()
      Returns the (optional) user object of the activity link.
      Returns:
      the optional user object