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

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}"/>

Author:
  Kirk Wylie

Field Summary
`java.lang.String` `counter`
`java.lang.String` `property`
`boolean` `shouldSetProperty`
`boolean` `shouldSetValue`
`int` `value`

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
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`P4Counter()`

Method Summary
`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, init, setClient, setCmdopts, setFailonerror, setPort, setUser, setView`

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### counter

    public java.lang.String counter

### property

    public java.lang.String property

### shouldSetValue

    public boolean shouldSetValue

### shouldSetProperty

    public boolean shouldSetProperty

### value

    public int value

Constructor Detail

### P4Counter

    public P4Counter()

Method Detail

### setName

    public void setName(java.lang.String counter)

  The name of the counter; required

### setValue

    public void setValue(int value)

  The new value for the counter; optional.

### setProperty

    public void setProperty(java.lang.String property)

  A property to be 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 something goes wrong with the build

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.