Length (Apache Ant API)
Date: 2018-03-24

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 and 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 and Description
    `Length()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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(Comparison c)` Set the comparison for use as a Condition.
    `void` | `setWhen(Length.When w)` 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.