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

Constructors
Constructor and Description
`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

Methods
`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.