# Class PoolProperties.InterceptorDefinition

java.lang.Object
org.apache.tomcat.jdbc.pool.PoolProperties.InterceptorDefinition

All Implemented Interfaces:
  `Serializable`

Enclosing class:
  `PoolProperties`

public static class PoolProperties.InterceptorDefinition extends Object implements Serializable
Definition of a JDBC interceptor with its configuration properties.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`className`
Interceptor class name.
`protected Class<?>`
`clazz`
Cached interceptor class.
`protected Map<String, PoolProperties.InterceptorProperty>`
`properties`
Map of interceptor properties.

## Constructor Summary

Constructors
Constructor
Description
`InterceptorDefinition(Class<?> cl)`
Constructs an InterceptorDefinition with the given class.
`InterceptorDefinition(String className)`
Constructs an InterceptorDefinition with the given class name.

## Method Summary

Modifier and Type
Method
Description
`void`
`addProperty(String name, String value)`
Adds a property with the given name and value.
`void`
`addProperty(PoolProperties.InterceptorProperty p)`
Adds the given interceptor property.
`String`
`getClassName()`
Returns the interceptor class name.
`Class<? extends JdbcInterceptor>`
`getInterceptorClass()`
Returns the interceptor class, loading it if necessary.
`Map<String, PoolProperties.InterceptorProperty>`
`getProperties()`
Returns the map of interceptor properties.

### Methods inherited from class Object

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

## Field Details

### className

protected String className
Interceptor class name.

### properties

protected Map<String, PoolProperties.InterceptorProperty> properties
Map of interceptor properties.

### clazz

protected volatile Class<?> clazz
Cached interceptor class.

## Constructor Details

### InterceptorDefinition

public InterceptorDefinition(String className)
Constructs an InterceptorDefinition with the given class name.

Parameters:
  `className` - the interceptor class name

### InterceptorDefinition

public InterceptorDefinition(Class<?> cl)
Constructs an InterceptorDefinition with the given class.

Parameters:
  `cl` - the interceptor class

## Method Details

### getClassName

public String getClassName()
Returns the interceptor class name.

Returns:
  the class name

### addProperty

public void addProperty(String name, String value)
Adds a property with the given name and value.

Parameters:
  `name` - the property name
  `value` - the property value

### addProperty

public void addProperty(PoolProperties.InterceptorProperty p)
Adds the given interceptor property.

Parameters:
  `p` - the property to add

### getProperties

public Map<String, PoolProperties.InterceptorProperty> getProperties()
Returns the map of interceptor properties.

Returns:
  the properties map

### getInterceptorClass

public Class<? extends JdbcInterceptor> getInterceptorClass() throws ClassNotFoundException
Returns the interceptor class, loading it if necessary.

Returns:
  the interceptor class
Throws:
  `ClassNotFoundException` - if the class cannot be found