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

Method Summary
`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.