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
Modifier and Type | Field | Description
--- | --- | ---
`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
Constructor | Description
--- | ---
`ProjectComponent()` | Sole constructor.

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`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 Details

### 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 Details

### ProjectComponent

public ProjectComponent()
Sole constructor.

## Method Details

### 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