Package org.jboss.resteasy.core.interception.jaxrs

## Class JaxrsInterceptorRegistryImpl<T>

- java.lang.Object
- - org.jboss.resteasy.core.interception.jaxrs.JaxrsInterceptorRegistryImpl<T>

- All Implemented Interfaces:
    `JaxrsInterceptorRegistry<T>`
  Direct Known Subclasses:
    `ClientRequestFilterRegistryImpl`, `ClientResponseFilterRegistryImpl`, `ContainerRequestFilterRegistryImpl`, `ContainerResponseFilterRegistryImpl`, `ReaderInterceptorRegistryImpl`, `WriterInterceptorRegistryImpl`

      public class JaxrsInterceptorRegistryImpl<T>
      extends Object
      implements JaxrsInterceptorRegistry<T>

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `JaxrsInterceptorRegistryImpl.AbstractInterceptorFactory` |
    `protected class` | `JaxrsInterceptorRegistryImpl.OnDemandInterceptorFactory` |
    `protected class` | `JaxrsInterceptorRegistryImpl.SingletonInterceptorFactory` |

    - ### Nested classes/interfaces inherited from interface org.jboss.resteasy.spi.interception.JaxrsInterceptorRegistry

      `JaxrsInterceptorRegistry.AscendingPrecedenceComparator, JaxrsInterceptorRegistry.DescendingPrecedenceComparator, JaxrsInterceptorRegistry.InterceptorFactory, JaxrsInterceptorRegistry.Match`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected T[]` | `cachedPostMatch` |
    `protected T[]` | `cachedPreMatch` |
    `protected List<JaxrsInterceptorRegistry.InterceptorFactory>` | `interceptors` |
    `protected Class<T>` | `intf` |
    `protected List<JaxrsInterceptorRegistryListener>` | `listeners` |
    `protected ResteasyProviderFactory` | `providerFactory` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JaxrsInterceptorRegistryImpl​(ResteasyProviderFactory providerFactory, Class<T> intf)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `JaxrsInterceptorRegistry<T>` | `clone​(ResteasyProviderFactory factory)` |
    `Class<T>` | `getIntf()` |
    `List<JaxrsInterceptorRegistryListener>` | `getListeners()` |
    `protected static List<Class<? extends Annotation>>` | `getNameBound​(Class<?> declaring)` |
    `static int` | `getPriority​(Class<?> declaring)` |
    `T[]` | `postMatch​(Class declaring, AccessibleObject target)` |
    `T[]` | `preMatch()` |
    `void` | `register​(JaxrsInterceptorRegistry.InterceptorFactory factory)` |
    `void` | `registerClass​(Class<? extends T> declaring)` |
    `void` | `registerClass​(Class<? extends T> declaring, int priority)` |
    `void` | `registerSingleton​(T interceptor)` |
    `void` | `registerSingleton​(T interceptor, int priority)` |
    `protected void` | `sort​(List<JaxrsInterceptorRegistry.Match> matches)` |

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

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

- - ### Field Detail

    - #### interceptors

          protected List<JaxrsInterceptorRegistry.InterceptorFactory> interceptors

    - #### listeners

          protected List<JaxrsInterceptorRegistryListener> listeners

    - #### providerFactory

          protected ResteasyProviderFactory providerFactory

    - #### intf

          protected Class<T> intf

    - #### cachedPreMatch

          protected volatile T[] cachedPreMatch

    - #### cachedPostMatch

          protected volatile T[] cachedPostMatch

  - ### Constructor Detail

    - #### JaxrsInterceptorRegistryImpl

          public JaxrsInterceptorRegistryImpl​(ResteasyProviderFactory providerFactory,
                                              Class<T> intf)

  - ### Method Detail

    - #### getNameBound

          protected static List<Class<? extends Annotation>> getNameBound​(Class<?> declaring)

    - #### getPriority

          public static int getPriority​(Class<?> declaring)

    - #### clone

          public JaxrsInterceptorRegistry<T> clone​(ResteasyProviderFactory factory)

      Specified by:
        `clone` in interface `JaxrsInterceptorRegistry<T>`

    - #### getIntf

          public Class<T> getIntf()

      Specified by:
        `getIntf` in interface `JaxrsInterceptorRegistry<T>`

    - #### getListeners

          public List<JaxrsInterceptorRegistryListener> getListeners()

      Specified by:
        `getListeners` in interface `JaxrsInterceptorRegistry<T>`

    - #### preMatch

          public T[] preMatch()

      Specified by:
        `preMatch` in interface `JaxrsInterceptorRegistry<T>`

    - #### postMatch

          public T[] postMatch​(Class declaring,
                               AccessibleObject target)

      Specified by:
        `postMatch` in interface `JaxrsInterceptorRegistry<T>`

    - #### sort

          protected void sort​(List<JaxrsInterceptorRegistry.Match> matches)

    - #### register

          public void register​(JaxrsInterceptorRegistry.InterceptorFactory factory)

      Specified by:
        `register` in interface `JaxrsInterceptorRegistry<T>`

    - #### registerClass

          public void registerClass​(Class<? extends T> declaring)

      Specified by:
        `registerClass` in interface `JaxrsInterceptorRegistry<T>`

    - #### registerClass

          public void registerClass​(Class<? extends T> declaring,
                                    int priority)

      Specified by:
        `registerClass` in interface `JaxrsInterceptorRegistry<T>`

    - #### registerSingleton

          public void registerSingleton​(T interceptor)

      Specified by:
        `registerSingleton` in interface `JaxrsInterceptorRegistry<T>`

    - #### registerSingleton

          public void registerSingleton​(T interceptor,
                                        int priority)

      Specified by:
        `registerSingleton` in interface `JaxrsInterceptorRegistry<T>`