org.apache.tools.ant.taskdefs

## Class Basename

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.Basename

- All Implemented Interfaces:
    java.lang.Cloneable

      public class Basename
      extends Task

  Sets a property to the base name of a specified file, optionally minus a suffix. This task can accept the following attributes:
  - file
  - property
  - suffix
  The file and property attributes are required. The suffix attribute can be specified either with or without the ".", and the result will be the same (ie., the returned file name will be minus the .suffix).

  When this task executes, it will set the specified property to the value of the last element in the specified file. If file is a directory, the basename will be the last directory element. If file is a full-path filename, the basename will be the simple file name. If a suffix is specified, and the specified file ends in that suffix, the basename will be the simple file name without the suffix.

  Since:
    Ant 1.5

- - ### Field Summary

    - ### 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
    `Basename()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute()` do the work
    `void` | `setFile(java.io.File file)` file or directory to get base name from
    `void` | `setProperty(java.lang.String property)` Property to set base name to.
    `void` | `setSuffix(java.lang.String suffix)` Optional suffix to remove from base name.

    - ### 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, setProject`

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

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

- - ### Constructor Detail

    - #### Basename

          public Basename()

  - ### Method Detail

    - #### setFile

          public void setFile(java.io.File file)

      file or directory to get base name from
      Parameters:
        `file` - file or directory to get base name from

    - #### setProperty

          public void setProperty(java.lang.String property)

      Property to set base name to.
      Parameters:
        `property` - name of property

    - #### setSuffix

          public void setSuffix(java.lang.String suffix)

      Optional suffix to remove from base name.
      Parameters:
        `suffix` - suffix to remove from base name

    - #### execute

          public void execute()
                       throws BuildException

      do the work
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - if required attributes are not supplied property and attribute are required attributes