Package org.apache.tools.ant

## Class ProjectComponent

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent

All Implemented Interfaces:
  `java.lang.Cloneable`

Direct Known Subclasses:
  `AbstractScriptComponent`, `BaseIfAttribute`, `Commandline.Argument`, `Concat.TextElement`, `ConditionBase`, `DataType`, `FailureRecorder`, `FileTokenizer`, `HasMethod`, `Http`, `IsFalse`, `IsLastModified`, `IsReachable`, `IsReference`, `IsSet`, `IsTrue`, `Javadoc.ExtensionInfo`, `LineTokenizer`, `Matches`, `Message`, `ParserSupports`, `Provider`, `ResourceExists`, `Service`, `Socket`, `StringTokenizer`, `Task`, `TokenFilter.ChainableReaderFilter`, `TokenFilter.ContainsString`, `TokenFilter.DeleteCharacters`, `TypeFound`, `XMLFragment`, `XSLTProcess.Factory.Attribute`

    public abstract class ProjectComponent
    extends java.lang.Object
    implements java.lang.Cloneable

Base class for components of a project, including tasks and data types. Provides common facilities.

### Field Summary

Fields
`protected java.lang.String` `description` Deprecated. since 1.6.x.
`protected Location` `location` Deprecated. since 1.6.x.
`protected Project` `project` Deprecated. since 1.6.x.

### Constructor Summary

Constructors
`ProjectComponent()` Sole constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`java.lang.Object` `clone()`
`java.lang.String` `getDescription()` Returns the description of the current action.
`Location` `getLocation()` Returns the file/location where this task was defined.
`Project` `getProject()` Returns the project to which this component belongs.
`void` `log​(java.lang.String msg)` Logs a message with the default (INFO) priority.
`void` `log​(java.lang.String msg, int msgLevel)` Logs a message with the given priority.
`void` `setDescription​(java.lang.String desc)` Sets a description of the current action.
`void` `setLocation​(Location location)` Sets the file/location where this task was defined.
`void` `setProject​(Project project)` Sets the project object of this component.

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### project

    @Deprecated
    protected Project project

Deprecated.
since 1.6.x. You should not be directly accessing this variable directly. You should access project object via the getProject() or setProject() accessor/mutators.
Project object of this component.

#### location

    @Deprecated
    protected Location location

Deprecated.
since 1.6.x. You should not be accessing this variable directly. Please use the `getLocation()` method.
Location within the build file of this task definition.

#### description

    @Deprecated
    protected java.lang.String description

Deprecated.
since 1.6.x. You should not be accessing this variable directly.
Description of this component, if any.

### Constructor Detail

#### ProjectComponent

    public ProjectComponent()

Sole constructor.

### Method Detail

#### setProject

    public void setProject​(Project project)

Sets the project object of this component. This method is used by Project when a component is added to it so that the component has access to the functions of the project. It should not be used for any other purpose.

Parameters:
  `project` - Project in whose scope this component belongs. Must not be `null`.

#### getProject

    public Project getProject()

Returns the project to which this component belongs.

Returns:
  the components's project.

#### getLocation

    public Location getLocation()

Returns the file/location where this task was defined.

Returns:
  the file/location where this task was defined. Should not return `null`. Location.UNKNOWN_LOCATION is used for unknown locations.
See Also:
  `Location.UNKNOWN_LOCATION`

#### setLocation

    public void setLocation​(Location location)

Sets the file/location where this task was defined.

Parameters:
  `location` - The file/location where this task was defined. Should not be `null`--use Location.UNKNOWN_LOCATION if the location isn't known.
See Also:
  `Location.UNKNOWN_LOCATION`

#### setDescription

    public void setDescription​(java.lang.String desc)

Sets a description of the current action. This may be used for logging purposes.

Parameters:
  `desc` - Description of the current action. May be `null`, indicating that no description is available.

#### getDescription

    public java.lang.String getDescription()

Returns the description of the current action.

Returns:
  the description of the current action, or `null` if no description is available.

#### log

    public void log​(java.lang.String msg)

Logs a message with the default (INFO) priority.

Parameters:
  `msg` - The message to be logged. Should not be `null`.

#### log

    public void log​(java.lang.String msg,
                    int msgLevel)

Logs a message with the given priority.

Parameters:
  `msg` - The message to be logged. Should not be `null`.
  `msgLevel` - the message priority at which this message is to be logged.

#### clone

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

Overrides:
  `clone` in class `java.lang.Object`
Returns:
  a shallow copy of this projectcomponent.
Throws:
  `java.lang.CloneNotSupportedException` - does not happen, but is declared to allow subclasses to do so.
Since:
  Ant 1.7