Class AbstractSpringJSONDocScanner

  • All Implemented Interfaces:
    org.jsondoc.core.scanner.JSONDocScanner
    Direct Known Subclasses:
    Spring3JSONDocScanner, Spring4JSONDocScanner

    public abstract class AbstractSpringJSONDocScanner
    extends org.jsondoc.core.scanner.AbstractJSONDocScanner
    • Field Summary

      • Fields inherited from class org.jsondoc.core.scanner.AbstractJSONDocScanner

        allApiMethodDocs, jsondocChangelogs, jsondocControllers, jsondocFlows, jsondocGlobal, jsondocMethods, jsondocMigrations, jsondocObjects, jsondocTemplates, log, reflections
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Set<java.lang.Class<?>> buildJSONDocObjectsCandidates​(java.util.Set<java.lang.Class<?>> candidates, java.lang.Class<?> clazz, java.lang.reflect.Type type, org.reflections.Reflections reflections)
      Returns a set of classes that are either return types or body objects
      org.jsondoc.core.pojo.ApiDoc initApiDoc​(java.lang.Class<?> controller)
      ApiDoc is initialized with the Controller's simple class name.
      org.jsondoc.core.pojo.ApiMethodDoc initApiMethodDoc​(java.lang.reflect.Method method, java.util.Map<java.lang.Class<?>,​org.jsondoc.core.pojo.JSONDocTemplate> jsondocTemplates)  
      org.jsondoc.core.pojo.ApiObjectDoc initApiObjectDoc​(java.lang.Class<?> clazz)  
      java.util.Set<java.lang.Class<?>> jsondocChangelogs()  
      java.util.Set<java.lang.Class<?>> jsondocFlows()  
      java.util.Set<java.lang.Class<?>> jsondocGlobal()  
      java.util.Set<java.lang.reflect.Method> jsondocMethods​(java.lang.Class<?> controller)  
      java.util.Set<java.lang.Class<?>> jsondocMigrations()  
      java.util.Set<java.lang.Class<?>> jsondocObjects​(java.util.List<java.lang.String> packages)  
      org.jsondoc.core.pojo.ApiDoc mergeApiDoc​(java.lang.Class<?> controller, org.jsondoc.core.pojo.ApiDoc apiDoc)
      Once the ApiDoc has been initialized and filled with other data (version, auth, etc) it's time to merge the documentation with JSONDoc annotation, if existing.
      org.jsondoc.core.pojo.ApiMethodDoc mergeApiMethodDoc​(java.lang.reflect.Method method, org.jsondoc.core.pojo.ApiMethodDoc apiMethodDoc)  
      org.jsondoc.core.pojo.ApiObjectDoc mergeApiObjectDoc​(java.lang.Class<?> clazz, org.jsondoc.core.pojo.ApiObjectDoc apiObjectDoc)  
      • Methods inherited from class org.jsondoc.core.scanner.AbstractJSONDocScanner

        enumConstantsToStringArray, getApiDocs, getApiDocsMap, getApiFlowDocs, getApiFlowDocsMap, getApiGlobalDoc, getApiObjectDocs, getApiObjectsMap, getJSONDoc, jsondocControllers
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractSpringJSONDocScanner

        public AbstractSpringJSONDocScanner()
    • Method Detail

      • jsondocMethods

        public java.util.Set<java.lang.reflect.Method> jsondocMethods​(java.lang.Class<?> controller)
        Specified by:
        jsondocMethods in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • buildJSONDocObjectsCandidates

        public static java.util.Set<java.lang.Class<?>> buildJSONDocObjectsCandidates​(java.util.Set<java.lang.Class<?>> candidates,
                                                                                      java.lang.Class<?> clazz,
                                                                                      java.lang.reflect.Type type,
                                                                                      org.reflections.Reflections reflections)
        Returns a set of classes that are either return types or body objects
        Parameters:
        candidates -
        clazz -
        type -
        reflections -
        Returns:
      • jsondocObjects

        public java.util.Set<java.lang.Class<?>> jsondocObjects​(java.util.List<java.lang.String> packages)
        Specified by:
        jsondocObjects in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • jsondocFlows

        public java.util.Set<java.lang.Class<?>> jsondocFlows()
        Specified by:
        jsondocFlows in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • initApiDoc

        public org.jsondoc.core.pojo.ApiDoc initApiDoc​(java.lang.Class<?> controller)
        ApiDoc is initialized with the Controller's simple class name.
        Specified by:
        initApiDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • mergeApiDoc

        public org.jsondoc.core.pojo.ApiDoc mergeApiDoc​(java.lang.Class<?> controller,
                                                        org.jsondoc.core.pojo.ApiDoc apiDoc)
        Once the ApiDoc has been initialized and filled with other data (version, auth, etc) it's time to merge the documentation with JSONDoc annotation, if existing.
        Specified by:
        mergeApiDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • initApiMethodDoc

        public org.jsondoc.core.pojo.ApiMethodDoc initApiMethodDoc​(java.lang.reflect.Method method,
                                                                   java.util.Map<java.lang.Class<?>,​org.jsondoc.core.pojo.JSONDocTemplate> jsondocTemplates)
        Specified by:
        initApiMethodDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • mergeApiMethodDoc

        public org.jsondoc.core.pojo.ApiMethodDoc mergeApiMethodDoc​(java.lang.reflect.Method method,
                                                                    org.jsondoc.core.pojo.ApiMethodDoc apiMethodDoc)
        Specified by:
        mergeApiMethodDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • initApiObjectDoc

        public org.jsondoc.core.pojo.ApiObjectDoc initApiObjectDoc​(java.lang.Class<?> clazz)
        Specified by:
        initApiObjectDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • mergeApiObjectDoc

        public org.jsondoc.core.pojo.ApiObjectDoc mergeApiObjectDoc​(java.lang.Class<?> clazz,
                                                                    org.jsondoc.core.pojo.ApiObjectDoc apiObjectDoc)
        Specified by:
        mergeApiObjectDoc in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • jsondocGlobal

        public java.util.Set<java.lang.Class<?>> jsondocGlobal()
        Specified by:
        jsondocGlobal in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • jsondocChangelogs

        public java.util.Set<java.lang.Class<?>> jsondocChangelogs()
        Specified by:
        jsondocChangelogs in class org.jsondoc.core.scanner.AbstractJSONDocScanner
      • jsondocMigrations

        public java.util.Set<java.lang.Class<?>> jsondocMigrations()
        Specified by:
        jsondocMigrations in class org.jsondoc.core.scanner.AbstractJSONDocScanner