org.apache.lucene.util

## Class Counter

- java.lang.Object
- - org.apache.lucene.util.Counter

    public abstract class Counter
    extends Object

Simple counter class

WARNING: This API is experimental and might change in incompatible ways in the next release.
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Constructor Summary

Constructors
Constructor and Description
`Counter()`

### Method Summary

Methods
`abstract long` `addAndGet(long delta)` Adds the given delta to the counters current value
`abstract long` `get()` Returns the counters current value
`static Counter` `newCounter()` Returns a new counter.
`static Counter` `newCounter(boolean threadSafe)` Returns a new counter.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Counter

    public Counter()

### Method Detail

#### addAndGet

    public abstract long addAndGet(long delta)

Adds the given delta to the counters current value

Parameters:
  `delta` - the delta to add
Returns:
  the counters updated value

#### get

    public abstract long get()

Returns the counters current value

Returns:
  the counters current value

#### newCounter

    public static Counter newCounter()

Returns a new counter. The returned counter is not thread-safe.

#### newCounter

    public static Counter newCounter(boolean threadSafe)

Returns a new counter.

Parameters:
  `threadSafe` - `true` if the returned counter can be used by multiple threads concurrently.
Returns:
  a new counter.