Package org.apache.tomcat.dbcp.pool2

# Enum PooledObjectState

java.lang.Object
java.lang.Enum<PooledObjectState>
org.apache.tomcat.dbcp.pool2.PooledObjectState

All Implemented Interfaces:
  `Serializable`, `Comparable<PooledObjectState>`, `java.lang.constant.Constable`

public enum PooledObjectState extends Enum<PooledObjectState>
Provides the possible states that a `PooledObject` may be in.

Since:
  2.0

## Nested Class Summary

## Nested classes/interfaces inherited from class java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## Enum Constant Summary

Enum Constants
Enum Constant
Description
`ABANDONED`
Deemed abandoned, to be invalidated.
`ALLOCATED`
In use.
`EVICTION`
In the queue, currently being tested for possible eviction.
`EVICTION_RETURN_TO_HEAD`
Not in the queue, currently being tested for possible eviction.
`IDLE`
In the queue, not in use.
`INVALID`
Failed maintenance (e.g. eviction test or validation) and will be / has been destroyed
`RETURNING`
Returning to the pool.
`VALIDATION`
In the queue, currently being validated.
`VALIDATION_PREALLOCATED`
Not in queue, currently being validated.
`VALIDATION_RETURN_TO_HEAD`
Not in queue, currently being validated.

## Method Summary

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

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

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

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

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

## Enum Constant Details

### IDLE

public static final PooledObjectState IDLE
In the queue, not in use.

### ALLOCATED

public static final PooledObjectState ALLOCATED
In use.

### EVICTION

public static final PooledObjectState EVICTION
In the queue, currently being tested for possible eviction.

### EVICTION_RETURN_TO_HEAD

public static final PooledObjectState EVICTION_RETURN_TO_HEAD
Not in the queue, currently being tested for possible eviction. An attempt to borrow the object was made while being tested which removed it from the queue. It should be returned to the head of the queue once eviction testing completes. TODO: Consider allocating object and ignoring the result of the eviction test.

### VALIDATION

public static final PooledObjectState VALIDATION
In the queue, currently being validated.

### VALIDATION_PREALLOCATED

public static final PooledObjectState VALIDATION_PREALLOCATED
Not in queue, currently being validated. The object was borrowed while being validated and since testOnBorrow was configured, it was removed from the queue and pre-allocated. It should be allocated once validation completes.

### VALIDATION_RETURN_TO_HEAD

public static final PooledObjectState VALIDATION_RETURN_TO_HEAD
Not in queue, currently being validated. An attempt to borrow the object was made while previously being tested for eviction which removed it from the queue. It should be returned to the head of the queue once validation completes.

### INVALID

public static final PooledObjectState INVALID
Failed maintenance (e.g. eviction test or validation) and will be / has been destroyed

### ABANDONED

public static final PooledObjectState ABANDONED
Deemed abandoned, to be invalidated.

### RETURNING

public static final PooledObjectState RETURNING
Returning to the pool.

## Method Details

### values

public static PooledObjectState[] 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 PooledObjectState 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