Package 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:
  `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
  Description
  `Basename()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `execute()`
  do the work
  `void`
  `setFile(File file)`
  file or directory to get base name from
  `void`
  `setProperty(String property)`
  Property to set base name to.
  `void`
  `setSuffix(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 Details

  - ### Basename

    public Basename()

- ## Method Details

  - ### setFile

    public void setFile(File file)
    file or directory to get base name from
    Parameters:
      `file` - file or directory to get base name from

  - ### setProperty

    public void setProperty(String property)
    Property to set base name to.
    Parameters:
      `property` - name of property

  - ### setSuffix

    public void setSuffix(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