## Uses of Interface
org.apache.activemq.artemis.api.core.BaseInterceptor

- Packages that use BaseInterceptor
  Package | Description
  --- | ---
  org.apache.activemq.artemis.api.core |
  org.apache.activemq.artemis.spi.core.protocol |
  org.apache.activemq.artemis.spi.core.remoting |

- - ### Uses of BaseInterceptor in org.apache.activemq.artemis.api.core

    Subinterfaces of BaseInterceptor in org.apache.activemq.artemis.api.core
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `Interceptor` | This is class is a simple way to intercepting calls on ActiveMQ Artemis client and servers.

  - ### Uses of BaseInterceptor in org.apache.activemq.artemis.spi.core.protocol

    Classes in org.apache.activemq.artemis.spi.core.protocol with type parameters of type BaseInterceptor
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractProtocolManager<P,​I extends BaseInterceptor<P>,​C extends RemotingConnection,​R extends org.apache.activemq.artemis.core.server.balancing.RedirectHandler>` |
    `class` | `AbstractProtocolManagerFactory<P extends BaseInterceptor>` |
    `interface` | `ProtocolManager<P extends BaseInterceptor,​R extends org.apache.activemq.artemis.core.server.balancing.RedirectHandler>` | Info: ProtocolManager is loaded by `RemotingServiceImpl.loadProtocolManagerFactories(Iterable)`
    `interface` | `ProtocolManagerFactory<P extends BaseInterceptor>` |

    Method parameters in org.apache.activemq.artemis.spi.core.protocol with type arguments of type BaseInterceptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `ProtocolManager` | ProtocolManagerFactory.`createProtocolManager​(org.apache.activemq.artemis.core.server.ActiveMQServer server, java.util.Map<java.lang.String,​java.lang.Object> parameters, java.util.List<BaseInterceptor> incomingInterceptors, java.util.List<BaseInterceptor> outgoingInterceptors)` | When you create the ProtocolManager, you should filter out any interceptors that won't belong to this Protocol.
    `java.util.List<P>` | ProtocolManagerFactory.`filterInterceptors​(java.util.List<BaseInterceptor> interceptors)` | This should get the entire list and only return the ones this factory can deal with *
    `protected java.util.List<P>` | AbstractProtocolManagerFactory.`internalFilterInterceptors​(java.lang.Class<P> type, java.util.List<? extends BaseInterceptor> listIn)` | This method exists because java templates won't store the type of P at runtime.
    `void` | ProtocolManager.`updateInterceptors​(java.util.List<BaseInterceptor> incomingInterceptors, java.util.List<BaseInterceptor> outgoingInterceptors)` | This method will receive all the interceptors on the system and you should filter them out *

  - ### Uses of BaseInterceptor in org.apache.activemq.artemis.spi.core.remoting

    Method parameters in org.apache.activemq.artemis.spi.core.remoting with type arguments of type BaseInterceptor
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Acceptor.`updateInterceptors​(java.util.List<BaseInterceptor> incomingInterceptors, java.util.List<BaseInterceptor> outgoingInterceptors)` | This will update the list of interceptors for each ProtocolManager inside the acceptor.