## org.jfree.data.gantt
Class Task

    java.lang.Object
      org.jfree.data.gantt.Task

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, org.jfree.util.PublicCloneable

    public class Task

extends java.lang.Object
implements java.lang.Cloneable, org.jfree.util.PublicCloneable, java.io.Serializable

A simple representation of a task. The task has a description and a duration. You can add sub-tasks to the task.

See Also:
  Serialized Form

Constructor Summary
`Task(java.lang.String description, java.util.Date start, java.util.Date end)` Creates a new task.
`Task(java.lang.String description, TimePeriod duration)` Creates a new task.

Method Summary
`void` `addSubtask(Task subtask)` Adds a sub-task to the task.
`java.lang.Object` `clone()` Returns a clone of the task.
`boolean` `equals(java.lang.Object object)` Tests this object for equality with an arbitrary object.
`java.lang.String` `getDescription()` Returns the task description.
`TimePeriod` `getDuration()` Returns the duration (actual or estimated) of the task.
`java.lang.Double` `getPercentComplete()` Returns the percentage complete for this task.
`Task` `getSubtask(int index)` Returns a sub-task.
`int` `getSubtaskCount()` Returns the sub-task count.
`void` `removeSubtask(Task subtask)` Removes a sub-task from the task.
`void` `setDescription(java.lang.String description)` Sets the task description.
`void` `setDuration(TimePeriod duration)` Sets the task duration (actual or estimated).
`void` `setPercentComplete(double percent)` Sets the percentage complete for the task.
`void` `setPercentComplete(java.lang.Double percent)` Sets the percentage complete for the task.

Methods inherited from class java.lang.Object
`finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Task

    public Task(java.lang.String description,
                TimePeriod duration)

  Creates a new task.

  Parameters:
    `description` - the task description (`null` not permitted).
    `duration` - the task duration (`null` permitted).

### Task

    public Task(java.lang.String description,
                java.util.Date start,
                java.util.Date end)

  Creates a new task.

  Parameters:
    `description` - the task description (`null` not permitted).
    `start` - the start date (`null` not permitted).
    `end` - the end date (`null` not permitted).

Method Detail

### getDescription

    public java.lang.String getDescription()

  Returns the task description.

  Returns:
    The task description (never `null`).

### setDescription

    public void setDescription(java.lang.String description)

  Sets the task description.

  Parameters:
    `description` - the description (`null` not permitted).

### getDuration

    public TimePeriod getDuration()

  Returns the duration (actual or estimated) of the task.

  Returns:
    The task duration (possibly `null`).

### setDuration

    public void setDuration(TimePeriod duration)

  Sets the task duration (actual or estimated).

  Parameters:
    `duration` - the duration (`null` permitted).

### getPercentComplete

    public java.lang.Double getPercentComplete()

  Returns the percentage complete for this task.

  Returns:
    The percentage complete (possibly `null`).

### setPercentComplete

    public void setPercentComplete(java.lang.Double percent)

  Sets the percentage complete for the task.

  Parameters:
    `percent` - the percentage (`null` permitted).

### setPercentComplete

    public void setPercentComplete(double percent)

  Sets the percentage complete for the task.

  Parameters:
    `percent` - the percentage.

### addSubtask

    public void addSubtask(Task subtask)

  Adds a sub-task to the task.

  Parameters:
    `subtask` - the subtask (`null` not permitted).

### removeSubtask

    public void removeSubtask(Task subtask)

  Removes a sub-task from the task.

  Parameters:
    `subtask` - the subtask.

### getSubtaskCount

    public int getSubtaskCount()

  Returns the sub-task count.

  Returns:
    The sub-task count.

### getSubtask

    public Task getSubtask(int index)

  Returns a sub-task.

  Parameters:
    `index` - the index.
  Returns:
    The sub-task.

### equals

    public boolean equals(java.lang.Object object)

  Tests this object for equality with an arbitrary object.

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `object` - the other object (`null` permitted).
  Returns:
    A boolean.

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Returns a clone of the task.

  Specified by:
    `clone` in interface `org.jfree.util.PublicCloneable`
  Overrides:
    `clone` in class `java.lang.Object`
  Returns:
    A clone.
  Throws:
    `java.lang.CloneNotSupportedException` - never thrown by this class, but subclasses may not support cloning.