test_class.declarator: thrown = ExpectedException.none()
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public ExpectedException thrown = ExpectedException.none();
test_class.type: ExpectedException
test_class.var_name: thrown
test_class.declarator: mockLogbackAppender
test_class.modifier: private
test_class.original_string: private Appender<ILoggingEvent> mockLogbackAppender;
test_class.type: Appender<ILoggingEvent>
test_class.var_name: mockLogbackAppender
test_class.file: everrest-core/src/test/java/org/everrest/core/impl/resource/AbstractResourceDescriptorTest.java
test_class.identifier: AbstractResourceDescriptorTest
test_case.body: @Test
      public void processesSecurityAnnotationFromMethod() {
          ResourceDescriptor resource = new AbstractResourceDescriptor(ResourceWithMethodWithSecurityAnnotation.class);
          List<ResourceMethodDescriptor> resourceMethods = resource.getResourceMethods().get("GET");
  
          assertEquals(1, resourceMethods.get(0).getAnnotations().length);
          RolesAllowed rolesAllowed = (RolesAllowed)resourceMethods.get(0).getAnnotations()[0];
          assertNotNull(rolesAllowed);
      }
test_case.class_method_signature: AbstractResourceDescriptorTest.processesSecurityAnnotationFromMethod()
test_case.full_signature: @Test public void processesSecurityAnnotationFromMethod()
test_case.identifier: processesSecurityAnnotationFromMethod
test_case.invocations: get getResourceMethods assertEquals getAnnotations get getAnnotations get assertNotNull
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void processesSecurityAnnotationFromMethod()
focal_class.declarator: LOG = LoggerFactory.getLogger(AbstractResourceDescriptor.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOG = LoggerFactory.getLogger(AbstractResourceDescriptor.class);
focal_class.type: Logger
focal_class.var_name: LOG
focal_class.declarator: path
focal_class.modifier: private final
focal_class.original_string: private final PathValue path;
focal_class.type: PathValue
focal_class.var_name: path
focal_class.declarator: uriPattern
focal_class.modifier: private final
focal_class.original_string: private final UriPattern uriPattern;
focal_class.type: UriPattern
focal_class.var_name: uriPattern
focal_class.declarator: subResourceMethods
focal_class.modifier: private final
focal_class.original_string: private final TreeMap<UriPattern, Map<String, List<SubResourceMethodDescriptor>>> subResourceMethods;
focal_class.type: TreeMap<UriPattern, Map<String, List<SubResourceMethodDescriptor>>>
focal_class.var_name: subResourceMethods
focal_class.declarator: subResourceLocators
focal_class.modifier: private final
focal_class.original_string: private final TreeMap<UriPattern, SubResourceLocatorDescriptor> subResourceLocators;
focal_class.type: TreeMap<UriPattern, SubResourceLocatorDescriptor>
focal_class.var_name: subResourceLocators
focal_class.declarator: resourceMethods
focal_class.modifier: private final
focal_class.original_string: private final MultivaluedMap<String, ResourceMethodDescriptor> resourceMethods;
focal_class.type: MultivaluedMap<String, ResourceMethodDescriptor>
focal_class.var_name: resourceMethods
focal_class.declarator: resourceMethodComparator = new ResourceMethodComparator()
focal_class.modifier: private final
focal_class.original_string: private final ResourceMethodComparator resourceMethodComparator = new ResourceMethodComparator();
focal_class.type: ResourceMethodComparator
focal_class.var_name: resourceMethodComparator
focal_class.file: everrest-core/src/main/java/org/everrest/core/impl/resource/AbstractResourceDescriptor.java
focal_class.identifier: AbstractResourceDescriptor
focal_class.interfaces: implements ResourceDescriptor
focal_class.class_method_signature: AbstractResourceDescriptor.AbstractResourceDescriptor(Class<?> resourceClass)
focal_class.full_signature: public  AbstractResourceDescriptor(Class<?> resourceClass)
focal_class.identifier: AbstractResourceDescriptor
focal_class.modifiers: public
focal_class.parameters: (Class<?> resourceClass)
focal_class.signature:  AbstractResourceDescriptor(Class<?> resourceClass)
focal_class.class_method_signature: AbstractResourceDescriptor.AbstractResourceDescriptor(String path, Class<?> resourceClass)
focal_class.full_signature: public  AbstractResourceDescriptor(String path, Class<?> resourceClass)
focal_class.identifier: AbstractResourceDescriptor
focal_class.modifiers: public
focal_class.parameters: (String path, Class<?> resourceClass)
focal_class.signature:  AbstractResourceDescriptor(String path, Class<?> resourceClass)
focal_class.class_method_signature: AbstractResourceDescriptor.AbstractResourceDescriptor(Object resource)
focal_class.full_signature: public  AbstractResourceDescriptor(Object resource)
focal_class.identifier: AbstractResourceDescriptor
focal_class.modifiers: public
focal_class.parameters: (Object resource)
focal_class.signature:  AbstractResourceDescriptor(Object resource)
focal_class.class_method_signature: AbstractResourceDescriptor.AbstractResourceDescriptor(String path, Object resource)
focal_class.full_signature: public  AbstractResourceDescriptor(String path, Object resource)
focal_class.identifier: AbstractResourceDescriptor
focal_class.modifiers: public
focal_class.parameters: (String path, Object resource)
focal_class.signature:  AbstractResourceDescriptor(String path, Object resource)
focal_class.class_method_signature: AbstractResourceDescriptor.getPathValue()
focal_class.full_signature: @Override public PathValue getPathValue()
focal_class.identifier: getPathValue
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: PathValue
focal_class.signature: PathValue getPathValue()
focal_class.class_method_signature: AbstractResourceDescriptor.getResourceMethods()
focal_class.full_signature: @Override public Map<String, List<ResourceMethodDescriptor>> getResourceMethods()
focal_class.identifier: getResourceMethods
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<String, List<ResourceMethodDescriptor>>
focal_class.signature: Map<String, List<ResourceMethodDescriptor>> getResourceMethods()
focal_class.class_method_signature: AbstractResourceDescriptor.getSubResourceLocators()
focal_class.full_signature: @Override public Map<UriPattern, SubResourceLocatorDescriptor> getSubResourceLocators()
focal_class.identifier: getSubResourceLocators
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<UriPattern, SubResourceLocatorDescriptor>
focal_class.signature: Map<UriPattern, SubResourceLocatorDescriptor> getSubResourceLocators()
focal_class.class_method_signature: AbstractResourceDescriptor.getSubResourceMethods()
focal_class.full_signature: @Override public Map<UriPattern, Map<String, List<SubResourceMethodDescriptor>>> getSubResourceMethods()
focal_class.identifier: getSubResourceMethods
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Map<UriPattern, Map<String, List<SubResourceMethodDescriptor>>>
focal_class.signature: Map<UriPattern, Map<String, List<SubResourceMethodDescriptor>>> getSubResourceMethods()
focal_class.class_method_signature: AbstractResourceDescriptor.getUriPattern()
focal_class.full_signature: @Override public UriPattern getUriPattern()
focal_class.identifier: getUriPattern
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: UriPattern
focal_class.signature: UriPattern getUriPattern()
focal_class.class_method_signature: AbstractResourceDescriptor.isRootResource()
focal_class.full_signature: @Override public boolean isRootResource()
focal_class.identifier: isRootResource
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isRootResource()
focal_class.class_method_signature: AbstractResourceDescriptor.processMethods()
focal_class.full_signature: private void processMethods()
focal_class.identifier: processMethods
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void processMethods()
focal_class.class_method_signature: AbstractResourceDescriptor.getAllMethods(Class<?> resourceClass)
focal_class.full_signature: private List<Method> getAllMethods(Class<?> resourceClass)
focal_class.identifier: getAllMethods
focal_class.modifiers: private
focal_class.parameters: (Class<?> resourceClass)
focal_class.return: List<Method>
focal_class.signature: List<Method> getAllMethods(Class<?> resourceClass)
focal_class.class_method_signature: AbstractResourceDescriptor.addResourceMethod(Method method, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.full_signature: private void addResourceMethod(Method method, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.identifier: addResourceMethod
focal_class.modifiers: private
focal_class.parameters: (Method method, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.return: void
focal_class.signature: void addResourceMethod(Method method, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.class_method_signature: AbstractResourceDescriptor.addSubResourceMethod(Method method, Path subPath, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.full_signature: private void addSubResourceMethod(Method method, Path subPath, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.identifier: addSubResourceMethod
focal_class.modifiers: private
focal_class.parameters: (Method method, Path subPath, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.return: void
focal_class.signature: void addSubResourceMethod(Method method, Path subPath, HttpMethod httpMethod, List<Parameter> params, Annotation[] additional, List<MediaType> produces, List<MediaType> consumes)
focal_class.class_method_signature: AbstractResourceDescriptor.validateResourceMethod(ResourceMethodDescriptor resourceMethod)
focal_class.full_signature: private void validateResourceMethod(ResourceMethodDescriptor resourceMethod)
focal_class.identifier: validateResourceMethod
focal_class.modifiers: private
focal_class.parameters: (ResourceMethodDescriptor resourceMethod)
focal_class.return: void
focal_class.signature: void validateResourceMethod(ResourceMethodDescriptor resourceMethod)
focal_class.class_method_signature: AbstractResourceDescriptor.addSubResourceLocator(Method method, Path subPath, List<Parameter> params, Annotation[] additional)
focal_class.full_signature: private void addSubResourceLocator(Method method, Path subPath, List<Parameter> params, Annotation[] additional)
focal_class.identifier: addSubResourceLocator
focal_class.modifiers: private
focal_class.parameters: (Method method, Path subPath, List<Parameter> params, Annotation[] additional)
focal_class.return: void
focal_class.signature: void addSubResourceLocator(Method method, Path subPath, List<Parameter> params, Annotation[] additional)
focal_class.class_method_signature: AbstractResourceDescriptor.validateSubResourceLocator(SubResourceLocatorDescriptor resourceLocator)
focal_class.full_signature: private void validateSubResourceLocator(SubResourceLocatorDescriptor resourceLocator)
focal_class.identifier: validateSubResourceLocator
focal_class.modifiers: private
focal_class.parameters: (SubResourceLocatorDescriptor resourceLocator)
focal_class.return: void
focal_class.signature: void validateSubResourceLocator(SubResourceLocatorDescriptor resourceLocator)
focal_class.class_method_signature: AbstractResourceDescriptor.sortResourceMethods()
focal_class.full_signature: private void sortResourceMethods()
focal_class.identifier: sortResourceMethods
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void sortResourceMethods()
focal_class.class_method_signature: AbstractResourceDescriptor.getResourceMethods(String httpMethod)
focal_class.full_signature: private List<ResourceMethodDescriptor> getResourceMethods(String httpMethod)
focal_class.identifier: getResourceMethods
focal_class.modifiers: private
focal_class.parameters: (String httpMethod)
focal_class.return: List<ResourceMethodDescriptor>
focal_class.signature: List<ResourceMethodDescriptor> getResourceMethods(String httpMethod)
focal_class.class_method_signature: AbstractResourceDescriptor.getSubResourceMethods(UriPattern subResourceUriPattern)
focal_class.full_signature: private Map<String, List<SubResourceMethodDescriptor>> getSubResourceMethods(UriPattern subResourceUriPattern)
focal_class.identifier: getSubResourceMethods
focal_class.modifiers: private
focal_class.parameters: (UriPattern subResourceUriPattern)
focal_class.return: Map<String, List<SubResourceMethodDescriptor>>
focal_class.signature: Map<String, List<SubResourceMethodDescriptor>> getSubResourceMethods(UriPattern subResourceUriPattern)
focal_class.class_method_signature: AbstractResourceDescriptor.sortSubResourceMethods()
focal_class.full_signature: private void sortSubResourceMethods()
focal_class.identifier: sortSubResourceMethods
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void sortSubResourceMethods()
focal_class.class_method_signature: AbstractResourceDescriptor.createMethodParameters(Class<?> resourceClass, Method method)
focal_class.full_signature: private List<Parameter> createMethodParameters(Class<?> resourceClass, Method method)
focal_class.identifier: createMethodParameters
focal_class.modifiers: private
focal_class.parameters: (Class<?> resourceClass, Method method)
focal_class.return: List<Parameter>
focal_class.signature: List<Parameter> createMethodParameters(Class<?> resourceClass, Method method)
focal_class.class_method_signature: AbstractResourceDescriptor.resolveHeadRequest()
focal_class.full_signature: private void resolveHeadRequest()
focal_class.identifier: resolveHeadRequest
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void resolveHeadRequest()
focal_class.class_method_signature: AbstractResourceDescriptor.resolveOptionsRequest()
focal_class.full_signature: private void resolveOptionsRequest()
focal_class.identifier: resolveOptionsRequest
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void resolveOptionsRequest()
focal_class.class_method_signature: AbstractResourceDescriptor.getMetaAnnotation(Method method, Class<T> annotationClass)
focal_class.full_signature: private T getMetaAnnotation(Method method, Class<T> annotationClass)
focal_class.identifier: getMetaAnnotation
focal_class.modifiers: private
focal_class.parameters: (Method method, Class<T> annotationClass)
focal_class.return: T
focal_class.signature: T getMetaAnnotation(Method method, Class<T> annotationClass)
focal_class.class_method_signature: AbstractResourceDescriptor.getMethodAnnotation(Method method,
                                                           Class<?> resourceClass,
                                                           Class<T> annotationClass,
                                                           boolean metaAnnotation)
focal_class.full_signature: private T getMethodAnnotation(Method method,
                                                           Class<?> resourceClass,
                                                           Class<T> annotationClass,
                                                           boolean metaAnnotation)
focal_class.identifier: getMethodAnnotation
focal_class.modifiers: private
focal_class.parameters: (Method method,
                                                           Class<?> resourceClass,
                                                           Class<T> annotationClass,
                                                           boolean metaAnnotation)
focal_class.return: T
focal_class.signature: T getMethodAnnotation(Method method,
                                                           Class<?> resourceClass,
                                                           Class<T> annotationClass,
                                                           boolean metaAnnotation)
focal_class.class_method_signature: AbstractResourceDescriptor.getClassAnnotation(Class<?> resourceClass, Class<T> annotationClass)
focal_class.full_signature: private T getClassAnnotation(Class<?> resourceClass, Class<T> annotationClass)
focal_class.identifier: getClassAnnotation
focal_class.modifiers: private
focal_class.parameters: (Class<?> resourceClass, Class<T> annotationClass)
focal_class.return: T
focal_class.signature: T getClassAnnotation(Class<?> resourceClass, Class<T> annotationClass)
focal_class.class_method_signature: AbstractResourceDescriptor.findMethodResourceMediaType(List<T> resourceMethods,
                                                                                                        List<MediaType> consumes,
                                                                                                        List<MediaType> produces)
focal_class.full_signature: private ResourceMethodDescriptor findMethodResourceMediaType(List<T> resourceMethods,
                                                                                                        List<MediaType> consumes,
                                                                                                        List<MediaType> produces)
focal_class.identifier: findMethodResourceMediaType
focal_class.modifiers: private
focal_class.parameters: (List<T> resourceMethods,
                                                                                                        List<MediaType> consumes,
                                                                                                        List<MediaType> produces)
focal_class.return: ResourceMethodDescriptor
focal_class.signature: ResourceMethodDescriptor findMethodResourceMediaType(List<T> resourceMethods,
                                                                                                        List<MediaType> consumes,
                                                                                                        List<MediaType> produces)
focal_class.class_method_signature: AbstractResourceDescriptor.getSecurityAnnotation(Method method, Class<?> clazz)
focal_class.full_signature: @SuppressWarnings("unchecked") private T getSecurityAnnotation(Method method, Class<?> clazz)
focal_class.identifier: getSecurityAnnotation
focal_class.modifiers: @SuppressWarnings("unchecked") private
focal_class.parameters: (Method method, Class<?> clazz)
focal_class.return: T
focal_class.signature: T getSecurityAnnotation(Method method, Class<?> clazz)
focal_class.class_method_signature: AbstractResourceDescriptor.getAnnotation(Class<?> clazz, Class<T>[] annotationClasses)
focal_class.full_signature: private T getAnnotation(Class<?> clazz, Class<T>[] annotationClasses)
focal_class.identifier: getAnnotation
focal_class.modifiers: private
focal_class.parameters: (Class<?> clazz, Class<T>[] annotationClasses)
focal_class.return: T
focal_class.signature: T getAnnotation(Class<?> clazz, Class<T>[] annotationClasses)
focal_class.class_method_signature: AbstractResourceDescriptor.getAnnotation(Method method, Class<T>[] annotationClasses)
focal_class.full_signature: private T getAnnotation(Method method, Class<T>[] annotationClasses)
focal_class.identifier: getAnnotation
focal_class.modifiers: private
focal_class.parameters: (Method method, Class<T>[] annotationClasses)
focal_class.return: T
focal_class.signature: T getAnnotation(Method method, Class<T>[] annotationClasses)
focal_class.class_method_signature: AbstractResourceDescriptor.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.superclass: extends BaseObjectModel
focal_method.body: @Override
      public Map<String, List<ResourceMethodDescriptor>> getResourceMethods() {
          return resourceMethods;
      }
focal_method.class_method_signature: AbstractResourceDescriptor.getResourceMethods()
focal_method.full_signature: @Override public Map<String, List<ResourceMethodDescriptor>> getResourceMethods()
focal_method.identifier: getResourceMethods
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: Map<String, List<ResourceMethodDescriptor>>
focal_method.signature: Map<String, List<ResourceMethodDescriptor>> getResourceMethods()