Package org.apache.tools.ant.taskdefs

# Class Chmod

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.ExecTask
org.apache.tools.ant.taskdefs.ExecuteOn
org.apache.tools.ant.taskdefs.Chmod

All Implemented Interfaces:
  `Cloneable`

public class Chmod extends ExecuteOn
Chmod equivalent for unix-like environments.

Since:
  Ant 1.1
To do:
  Refactor so it does not extend from ExecuteOn and then turn around and unsupport several attributes.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.ExecuteOn

`ExecuteOn.FileDirBoth`

## Field Summary

### Fields inherited from class org.apache.tools.ant.taskdefs.ExecuteOn

`destDir, filesets, mapper, mapperElement, srcFilePos, srcIsFirst, targetFilePos, type`

### Fields inherited from class org.apache.tools.ant.taskdefs.ExecTask

`cmdl, failOnError, newEnvironment, redirector, redirectorElement`

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

### Fields inherited from class org.apache.tools.ant.ProjectComponent

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`Chmod()`
Chmod task for setting file and directory permissions.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`checkConfiguration()`
Check the attributes and nested elements.
`PatternSet.NameEntry`
`createExclude()`
Add a name entry on the exclude list.
`PatternSet.NameEntry`
`createInclude()`
Add a name entry on the include list.
`PatternSet`
`createPatternSet()`
Add a set of patterns.
`void`
`execute()`
Carry out the chmoding.
`protected boolean`
`isValidOs()`
Check if the os is valid.
`void`
`setAddsourcefile(boolean b)`
This is not allowed for Chmod.
`void`
`setCommand(Commandline cmdl)`
Set the command.
`void`
`setDefaultexcludes(boolean useDefaultExcludes)`
Sets whether default exclusions should be used or not.
`void`
`setDir(File src)`
The directory which holds the files whose permissions must be changed.
`void`
`setExcludes(String excludes)`
Sets the set of exclude patterns.
`void`
`setExecutable(String e)`
Set the executable.
`void`
`setFile(File src)`
The file or single directory of which the permissions must be changed.
`void`
`setIncludes(String includes)`
Sets the set of include patterns.
`void`
`setPerm(String perm)`
Set the new permissions.
`void`
`setProject(Project project)`
Set the project of this task.
`void`
`setSkipEmptyFilesets(boolean skip)`
This is not allowed for Chmod.

### Methods inherited from class org.apache.tools.ant.taskdefs.ExecuteOn

`add, add, addDirset, addFilelist, addFileset, createHandler, createMapper, createSrcfile, createTargetfile, getCommandline, getCommandline, getDirs, getFiles, getFilesAndDirs, runExec, runParallel, setDest, setForce, setForwardslash, setIgnoremissing, setMaxParallel, setParallel, setRelative, setType, setupRedirector, setVerbose`

### Methods inherited from class org.apache.tools.ant.taskdefs.ExecTask

`addConfiguredRedirector, addEnv, createArg, createWatchdog, getOs, getOsFamily, getResolveExecutable, logFlush, maybeSetResultPropertyValue, prepareExec, resolveExecutable, runExecute, setAppend, setDiscardError, setDiscardOutput, setError, setErrorProperty, setFailIfExecutionFails, setFailonerror, setInput, setInputString, setLogError, setNewenvironment, setOs, setOsFamily, setOutput, setOutputproperty, setResolveExecutable, setResultProperty, setSearchPath, setSpawn, setTimeout, setTimeout, setVMLauncher`

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

### Methods inherited from class org.apache.tools.ant.ProjectComponent

`clone, getDescription, getLocation, getProject, setDescription, setLocation`

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

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

## Constructor Details

### Chmod

public Chmod()
Chmod task for setting file and directory permissions.

## Method Details

### setProject

public void setProject(Project project)
Set the project of this task. Calls the super class and sets the project on dhe default FileSet.

Overrides:
  `setProject` in class `ProjectComponent`
Parameters:
  `project` - the project for this task.
See Also:
  - `ProjectComponent.setProject(org.apache.tools.ant.Project)`

### setFile

public void setFile(File src)
The file or single directory of which the permissions must be changed.

Parameters:
  `src` - the source file or directory.

### setDir

public void setDir(File src)
The directory which holds the files whose permissions must be changed.

Overrides:
  `setDir` in class `ExecTask`
Parameters:
  `src` - the directory.

### setPerm

public void setPerm(String perm)
Set the new permissions.

Parameters:
  `perm` - the new permissions.

### createInclude

public PatternSet.NameEntry createInclude()
Add a name entry on the include list.

Returns:
  a NameEntry to be configured.

### createExclude

public PatternSet.NameEntry createExclude()
Add a name entry on the exclude list.

Returns:
  a nameentry to be configured.

### createPatternSet

public PatternSet createPatternSet()
Add a set of patterns.

Returns:
  a patternset to be configured.

### setIncludes

public void setIncludes(String includes)
Sets the set of include patterns. Patterns may be separated by a comma or a space.

Parameters:
  `includes` - the string containing the include patterns.

### setExcludes

public void setExcludes(String excludes)
Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

Parameters:
  `excludes` - the string containing the exclude patterns.

### setDefaultexcludes

public void setDefaultexcludes(boolean useDefaultExcludes)
Sets whether default exclusions should be used or not.

Parameters:
  `useDefaultExcludes` - "true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

### checkConfiguration

protected void checkConfiguration()
Check the attributes and nested elements.

Overrides:
  `checkConfiguration` in class `ExecuteOn`

### execute

public void execute() throws BuildException
Carry out the chmoding.

Overrides:
  `execute` in class `ExecTask`
Throws:
  `BuildException` - on error.

### setExecutable

public void setExecutable(String e)
Set the executable. This is not allowed for Chmod.

Overrides:
  `setExecutable` in class `ExecTask`
Parameters:
  `e` - ignored.
Throws:
  `BuildException` - always.

### setCommand

public void setCommand(Commandline cmdl)
Set the command. This is not allowed for Chmod.

Overrides:
  `setCommand` in class `ExecTask`
Parameters:
  `cmdl` - ignored.
Throws:
  `BuildException` - always.

### setSkipEmptyFilesets

public void setSkipEmptyFilesets(boolean skip)
This is not allowed for Chmod.

Overrides:
  `setSkipEmptyFilesets` in class `ExecuteOn`
Parameters:
  `skip` - ignored.
Throws:
  `BuildException` - always.

### setAddsourcefile

public void setAddsourcefile(boolean b)
This is not allowed for Chmod.

Overrides:
  `setAddsourcefile` in class `ExecuteOn`
Parameters:
  `b` - ignored.
Throws:
  `BuildException` - always.

### isValidOs

protected boolean isValidOs()
Check if the os is valid. Always include unix.

Overrides:
  `isValidOs` in class `ExecTask`
Returns:
  true if the os is valid.