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