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

Package org.apache.tools.ant.taskdefs

# Class Length

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

All Implemented Interfaces:
  `java.lang.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 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
  --- | ---
  `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​(java.io.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​(java.lang.String property)` | The property in which the length will be stored.
  `void` | `setResource​(Resource resource)` | Set the single resource for this task.
  `void` | `setString​(java.lang.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 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

  - ### Length

    public Length()

- ## Method Details

  - ### setProperty

    public void setProperty​(java.lang.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​(java.io.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​(java.lang.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.