Length (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: Length

# Class Length

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Length

All Implemented Interfaces:
  `Cloneable, Condition`

public class Length extends Task implements Condition
Gets lengths: of files/resources, byte size; of strings, length (optionally trimmed). The task is overloaded in this way for semantic reasons, much like Available.

Since:
  Ant 1.6.3

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `Length.FileMode`
  EnumeratedAttribute operation mode
  `static class`
  `Length.When`
  EnumeratedAttribute for the when attribute.

- ## Field Summary

  ### Fields inherited from class Task

  `target, taskName, taskType, wrapper`
  Modifier and Type
  Field
  Description
  `protected Target`
  `target`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskName`
  Deprecated.
  since 1.6.x.
  `protected String`
  `taskType`
  Deprecated.
  since 1.6.x.
  `protected RuntimeConfigurable`
  `wrapper`
  Deprecated.
  since 1.6.x.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Length()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(FileSet fs)`
  Add a FileSet.
  `void`
  `add(ResourceCollection c)`
  Add a ResourceCollection.
  `boolean`
  `eval()`
  Fulfill the condition contract.
  `void`
  `execute()`
  Execute the length task.
  `boolean`
  `getTrim()`
  Learn whether strings will be trimmed.
  `void`
  `setFile(File file)`
  Set the single file for this task.
  `void`
  `setLength(long ell)`
  Set the target count number for use as a Condition.
  `void`
  `setMode(Length.FileMode m)`
  Set the execution mode for working with files.
  `void`
  `setProperty(String property)`
  The property in which the length will be stored.
  `void`
  `setResource(Resource resource)`
  Set the single resource for this task.
  `void`
  `setString(String string)`
  Set the string whose length to get.
  `void`
  `setTrim(boolean trim)`
  Set whether to trim in string mode.
  `void`
  `setWhen(Length.When w)`
  Set the comparison for use as a Condition.
  `void`
  `setWhen(Comparison c)`
  Set the comparison for use as a Condition.

  ### Methods inherited from class 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`
  Modifier and Type
  Method
  Description
  `final void`
  `bindToOwner(Task owner)`
  Bind a task to another; use this when configuring a newly created task to do work on behalf of another.
  `Target`
  `getOwningTarget()`
  Returns the container target of this task.
  `RuntimeConfigurable`
  `getRuntimeConfigurableWrapper()`
  Returns the wrapper used for runtime configuration.
  `String`
  `getTaskName()`
  Returns the name to use in logging messages.
  `String`
  `getTaskType()`
  Return the type of task.
  `protected RuntimeConfigurable`
  `getWrapper()`
  Return the runtime configurable structure for this task.
  `protected void`
  `handleErrorFlush(String output)`
  Handles an error line by logging it with the WARN priority.
  `protected void`
  `handleErrorOutput(String output)`
  Handles an error output by logging it with the WARN priority.
  `protected void`
  `handleFlush(String output)`
  Handles output by logging it with the INFO priority.
  `protected int`
  `handleInput(byte[] buffer, int offset, int length)`
  Handle an input request by this task.
  `protected void`
  `handleOutput(String output)`
  Handles output by logging it with the INFO priority.
  `void`
  `init()`
  Called by the project to let the task initialize properly.
  `protected final boolean`
  `isInvalid()`
  Has this task been marked invalid?
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(String msg, Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `log(Throwable t, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `maybeConfigure()`
  Configures this task - if it hasn't been done already.
  `final void`
  `perform()`
  Performs this task if it's still valid, or gets a replacement version and performs that otherwise.
  `void`
  `reconfigure()`
  Force the task to be reconfigured from its RuntimeConfigurable.
  `void`
  `setOwningTarget(Target target)`
  Sets the target container of this task.
  `void`
  `setRuntimeConfigurableWrapper(RuntimeConfigurable wrapper)`
  Sets the wrapper to be used for runtime configuration.
  `void`
  `setTaskName(String name)`
  Sets the name to use in logging messages.
  `void`
  `setTaskType(String type)`
  Sets the name with which the task has been invoked.

  ### Methods inherited from class ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### Length

    public Length()

- ## Method Details

  - ### setProperty

    public void setProperty(String property)
    The property in which the length will be stored.
    Parameters:
      `property` - the `String` property key.

  - ### setResource

    public void setResource(Resource resource)
    Set the single resource for this task.
    Parameters:
      `resource` - the Resource whose length to retrieve.

  - ### setFile

    public void setFile(File file)
    Set the single file for this task.
    Parameters:
      `file` - the `File` whose length to retrieve.

  - ### add

    public void add(FileSet fs)
    Add a FileSet.
    Parameters:
      `fs` - the `FileSet` to add.

  - ### add

    public void add(ResourceCollection c)
    Add a ResourceCollection.
    Parameters:
      `c` - the `ResourceCollection` to add.
    Since:
      Ant 1.7

  - ### setLength

    public void setLength(long ell)
    Set the target count number for use as a Condition.
    Parameters:
      `ell` - the long length to compare with.

  - ### setWhen

    public void setWhen(Length.When w)
    Set the comparison for use as a Condition.
    Parameters:
      `w` - EnumeratedAttribute When.
    See Also:
      - `Comparison`

  - ### setWhen

    public void setWhen(Comparison c)
    Set the comparison for use as a Condition.
    Parameters:
      `c` - Comparison.
    Since:
      Ant 1.7
    See Also:
      - `Comparison`

  - ### setMode

    public void setMode(Length.FileMode m)
    Set the execution mode for working with files.
    Parameters:
      `m` - the `FileMode` to use.

  - ### setString

    public void setString(String string)
    Set the string whose length to get.
    Parameters:
      `string` - `String`.

  - ### setTrim

    public void setTrim(boolean trim)
    Set whether to trim in string mode. Default false.
    Parameters:
      `trim` - `boolean`.

  - ### getTrim

    public boolean getTrim()
    Learn whether strings will be trimmed. Default false.
    Returns:
      boolean trim setting.

  - ### execute

    public void execute()
    Execute the length task.
    Overrides:
      `execute` in class `Task`

  - ### eval

    public boolean eval()
    Fulfill the condition contract.
    Specified by:
      `eval` in interface `Condition`
    Returns:
      true if the condition is true.
    Throws:
      `BuildException` - if an error occurs.