# Enum AddWatchMode

java.lang.Object
java.lang.Enum<AddWatchMode>
org.apache.zookeeper.AddWatchMode

All Implemented Interfaces:
  `Serializable, Comparable<AddWatchMode>`

public enum AddWatchMode extends Enum<AddWatchMode>
Modes available to `ZooKeeper.addWatch(String, Watcher, AddWatchMode)`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`PERSISTENT`
Set a watcher on the given path that does not get removed when triggered (i.e.
`PERSISTENT_RECURSIVE`
Set a watcher on the given path that: a) does not get removed when triggered (i.e.

## Method Summary

Modifier and Type
Method
Description
`int`
`getMode()`
`static AddWatchMode`
`valueOf(String name)`
Returns the enum constant of this type with the specified name.
`static AddWatchMode[]`
`values()`
Returns an array containing the constants of this enum type, in the order they are declared.

### Methods inherited from class Enum

`clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

### Methods inherited from class Object

`getClass, notify, notifyAll, wait, wait, wait`

## Enum Constant Details

### PERSISTENT

public static final AddWatchMode PERSISTENT

Set a watcher on the given path that does not get removed when triggered (i.e. it stays active until it is removed). This watcher is triggered for both data and child events. To remove the watcher, use `removeWatches()` with `WatcherType.Any`. The watcher behaves as if you placed an exists() watch and a getData() watch on the ZNode at the given path.

### PERSISTENT_RECURSIVE

public static final AddWatchMode PERSISTENT_RECURSIVE

Set a watcher on the given path that: a) does not get removed when triggered (i.e. it stays active until it is removed); b) applies not only to the registered path but all child paths recursively. This watcher is triggered for both data and child events. To remove the watcher, use `removeWatches()` with `WatcherType.Any`

The watcher behaves as if you placed an exists() watch and a getData() watch on the ZNode at the given path and any ZNodes that are children of the given path including children added later.

NOTE: when there are active recursive watches there is a small performance decrease as all segments of ZNode paths must be checked for watch triggering.

## Method Details

### values

public static AddWatchMode[] values()
Returns an array containing the constants of this enum type, in the order they are declared.

Returns:
  an array containing the constants of this enum type, in the order they are declared

### valueOf

public static AddWatchMode valueOf(String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Parameters:
  `name` - the name of the enum constant to be returned.
Returns:
  the enum constant with the specified name
Throws:
  `IllegalArgumentException` - if this enum type has no constant with the specified name
  `NullPointerException` - if the argument is null

### getMode

public int getMode()