org.apache.tools.ant.taskdefs.optional.perforce

## Class P4Counter

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.Task
    - - org.apache.tools.ant.taskdefs.optional.perforce.P4Base
      - - org.apache.tools.ant.taskdefs.optional.perforce.P4Counter

- All Implemented Interfaces:
    java.lang.Cloneable

      public class P4Counter
      extends P4Base

  Obtains or sets the value of a counter.

  When used in its base form (where only the counter name is provided), the counter value will be printed to the output stream. When the value is provided, the counter will be set to the value provided. When a property name is provided, the property will be filled with the value of the counter. You may not specify to both get and set the value of the counter in the same Task.

  The user performing this task must have Perforce "review" permissions as defined by Perforce protections in order for this task to succeed.

  Example Usage:
  <p4counter name="${p4.counter}" property=${p4.change}"/>

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `java.lang.String` | `counter` name of the counter
    `java.lang.String` | `property` name of an optional property
    `boolean` | `shouldSetProperty` flag telling whether a property should be set
    `boolean` | `shouldSetValue` flag telling whether the value of the counter should be set
    `int` | `value` new value for the counter

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base

      `failOnError, P4Client, P4CmdOpts, P4Opts, P4Port, P4User, P4View, shell, util`

    - ### 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
    `P4Counter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `execute()` again, properties are mutable in this tsk
    `void` | `setName(java.lang.String counter)` The name of the counter; required
    `void` | `setProperty(java.lang.String property)` A property to be set with the value of the counter
    `void` | `setValue(int value)` The new value for the counter; optional.

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.optional.perforce.P4Base

      `execP4Command, execP4Command, getErrorMessage, getInError, init, setClient, setCmdopts, setErrorMessage, setFailonerror, setGlobalopts, setInError, setPort, setUser, setView`

    - ### Methods inherited from class org.apache.tools.ant.Task

      `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, 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`

- - ### Field Detail

    - #### counter

          public java.lang.String counter

      name of the counter

    - #### property

          public java.lang.String property

      name of an optional property

    - #### shouldSetValue

          public boolean shouldSetValue

      flag telling whether the value of the counter should be set

    - #### shouldSetProperty

          public boolean shouldSetProperty

      flag telling whether a property should be set

    - #### value

          public int value

      new value for the counter

  - ### Constructor Detail

    - #### P4Counter

          public P4Counter()

  - ### Method Detail

    - #### setName

          public void setName(java.lang.String counter)

      The name of the counter; required
      Parameters:
        `counter` - name of the counter

    - #### setValue

          public void setValue(int value)

      The new value for the counter; optional.
      Parameters:
        `value` - new value for the counter

    - #### setProperty

          public void setProperty(java.lang.String property)

      A property to be set with the value of the counter
      Parameters:
        `property` - the name of a property to set with the value of the counter

    - #### execute

          public void execute()
                       throws BuildException

      again, properties are mutable in this tsk
      Overrides:
        `execute` in class `Task`
      Throws:
        `BuildException` - if the required parameters are not supplied.