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:
  java.lang.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 and Description
`Chmod()` Chmod task for setting file and directory permissions.

### Method Summary

Methods
`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(java.io.File src)` The directory which holds the files whose permissions must be changed.
`void` `setExcludes(java.lang.String excludes)` Sets the set of exclude patterns.
`void` `setExecutable(java.lang.String e)` Set the executable.
`void` `setFile(java.io.File src)` The file or single directory of which the permissions must be changed.
`void` `setIncludes(java.lang.String includes)` Sets the set of include patterns.
`void` `setPerm(java.lang.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, 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 Detail

#### Chmod

    public Chmod()

Chmod task for setting file and directory permissions.

### Method Detail

#### 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(java.io.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(java.io.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(java.lang.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(java.lang.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(java.lang.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(java.lang.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.