/* See LICENSE for licensing and NOTICE for copyright. */ package org.ldaptive.pool; import java.lang.reflect.InvocationHandler; import org.ldaptive.Connection; /** * Provides an interface for metadata surrounding a connection that is participating in the connection pool. * * @author Middleware Services */ public interface PooledConnectionProxy extends InvocationHandler { /** * Returns the connection pool that this proxy is participating in. * * @return connection pool */ ConnectionPool getConnectionPool(); /** * Returns the connection that is being proxied. * * @return underlying connection */ Connection getConnection(); /** * Returns the time this proxy was created. * * @return creation timestamp in milliseconds */ long getCreatedTime(); /** * Returns the statistics associated with this connection's activity in the pool. * * @return pooled connection statistics */ PooledConnectionStatistics getPooledConnectionStatistics(); }