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

    All Methods Instance Methods Concrete Methods
    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 Detail

    - #### Length

          public Length()

  - ### Method Detail

    - #### 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.