Class IntrospectionModeller


  • final class IntrospectionModeller
    extends java.lang.Object
    Utility class for constructing resource model from JAX-RS annotated POJO.
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • handlerClass

        private final java.lang.Class<?> handlerClass
      • disableValidation

        private final boolean disableValidation
    • Constructor Detail

      • IntrospectionModeller

        public IntrospectionModeller​(java.lang.Class<?> handlerClass,
                                     boolean disableValidation)
        Create a new introspection modeller for a given JAX-RS resource class.
        Parameters:
        handlerClass - JAX-RS resource (handler) class.
        disableValidation - if set to true, then any model validation checks will be disabled.
    • Method Detail

      • createResourceBuilder

        public Resource.Builder createResourceBuilder()
        Create a new resource model builder for the introspected class.

        The model returned is filled with the introspected data.

        Returns:
        new resource model builder for the introspected class.
      • checkForNonPublicMethodIssues

        private void checkForNonPublicMethodIssues()
      • checkResourceClassSetters

        private void checkResourceClassSetters​(MethodList methodList,
                                               boolean encodedFlag,
                                               java.util.Collection<Parameter> injectableParameters)
      • checkResourceClassFields

        private void checkResourceClassFields​(boolean encodedFlag,
                                              boolean isInSingleton,
                                              java.util.Collection<Parameter> injectableParameters)
      • getAllDeclaredMethods

        private java.util.List<java.lang.reflect.Method> getAllDeclaredMethods​(java.lang.Class<?> clazz)
      • resolveConsumedTypes

        private static java.util.List<javax.ws.rs.core.MediaType> resolveConsumedTypes​(AnnotatedMethod am,
                                                                                       java.util.List<javax.ws.rs.core.MediaType> defaultConsumedTypes)
      • resolveProducedTypes

        private static java.util.List<javax.ws.rs.core.MediaType> resolveProducedTypes​(AnnotatedMethod am,
                                                                                       java.util.List<javax.ws.rs.core.MediaType> defaultProducedTypes)
      • extractMediaTypes

        private static java.util.List<javax.ws.rs.core.MediaType> extractMediaTypes​(javax.ws.rs.Consumes annotation)
      • extractMediaTypes

        private static java.util.List<javax.ws.rs.core.MediaType> extractMediaTypes​(javax.ws.rs.Produces annotation)
      • extractMediaTypes

        private static java.util.List<javax.ws.rs.core.MediaType> extractMediaTypes​(java.lang.String[] values)
      • addResourceMethods

        private void addResourceMethods​(Resource.Builder resourceBuilder,
                                        MethodList methodList,
                                        java.util.List<Parameter> resourceClassParameters,
                                        boolean encodedParameters,
                                        java.util.List<javax.ws.rs.core.MediaType> defaultConsumedTypes,
                                        java.util.List<javax.ws.rs.core.MediaType> defaultProducedTypes,
                                        java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> defaultNameBindings,
                                        boolean extended)
      • addSubResourceMethods

        private void addSubResourceMethods​(Resource.Builder resourceBuilder,
                                           MethodList methodList,
                                           java.util.List<Parameter> resourceClassParameters,
                                           boolean encodedParameters,
                                           java.util.List<javax.ws.rs.core.MediaType> defaultConsumedTypes,
                                           java.util.List<javax.ws.rs.core.MediaType> defaultProducedTypes,
                                           java.util.Collection<java.lang.Class<? extends java.lang.annotation.Annotation>> defaultNameBindings,
                                           boolean extended)
      • addSubResourceLocators

        private void addSubResourceLocators​(Resource.Builder resourceBuilder,
                                            MethodList methodList,
                                            java.util.List<Parameter> resourceClassParameters,
                                            boolean encodedParameters,
                                            boolean extended)