Class ServiceUtilities


  • public class ServiceUtilities
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static void addToMetadataMap​(java.lang.String key, java.lang.String value, java.util.Map<java.lang.String,​java.util.List<java.lang.String>> metadata)  
      private static javax.lang.model.element.TypeElement findFactory​(javax.lang.model.element.TypeElement originalClazz, javax.lang.model.element.TypeElement clazz, java.util.List<? extends javax.lang.model.type.TypeMirror> hardenedClassTypes, java.util.Map<javax.lang.model.element.Name,​javax.lang.model.type.TypeMirror> classTypeMap, javax.annotation.processing.ProcessingEnvironment environment)  
      private static void generateFromClass​(DescriptorImpl retVal, javax.lang.model.element.Element clazz, java.util.Set<java.lang.String> contracts, javax.annotation.processing.ProcessingEnvironment processingEnvironment)  
      private static java.util.Set<java.lang.String> getAllContracts​(javax.lang.model.element.TypeElement clazz, javax.annotation.processing.ProcessingEnvironment processingEnvironment)  
      private static java.util.Set<java.lang.String> getAllQualifiers​(javax.lang.model.element.Element clazz, java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static void getAllSubContracts​(javax.lang.model.element.TypeElement clazz, javax.annotation.processing.ProcessingEnvironment processingEnvironment, java.util.LinkedHashSet<java.lang.String> contracts, java.util.LinkedHashSet<java.lang.String> cycleDetector)  
      private static java.lang.String getAnalyzer​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static javax.lang.model.element.AnnotationMirror getAnnotation​(javax.lang.model.element.Element clazz, java.lang.String clazzName, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static java.util.List<DescriptorImpl> getDescriptorFromFactoryClass​(javax.lang.model.element.TypeElement clazz, java.util.Set<java.lang.String> contracts, javax.annotation.processing.ProcessingEnvironment processingEnvironment)  
      static java.util.List<DescriptorImpl> getDescriptorsFromClass​(javax.lang.model.element.TypeElement clazz, javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      Returns one descriptor if this is a normal service class or two if this class is a factory.
      private static void getMetadataFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation, javax.lang.model.element.TypeElement annotationType, java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata, javax.annotation.processing.ProcessingEnvironment processingEnvironment)  
      private static java.lang.String getName​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnvironment)  
      private static java.lang.Boolean getProxyForSameScope​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static int getRank​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static java.lang.String getScope​(javax.lang.model.element.Element clazz, java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static void getServiceMetadata​(javax.lang.model.element.Element clazz, java.util.Map<java.lang.String,​java.util.List<java.lang.String>> metadata, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static java.lang.Boolean getUseProxy​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static javax.lang.model.element.AnnotationValue getValueFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation, java.lang.String methodName, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static javax.lang.model.element.AnnotationValue getValueFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static DescriptorVisibility getVisibility​(javax.lang.model.element.Element clazz, javax.annotation.processing.ProcessingEnvironment processingEnv)  
      private static boolean isAContract​(javax.lang.model.element.TypeElement element)  
      static java.lang.String nameToString​(javax.lang.model.element.Name name)  
      • Methods inherited from class java.lang.Object

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

      • ServiceUtilities

        public ServiceUtilities()
    • Method Detail

      • getDescriptorsFromClass

        public static java.util.List<DescriptorImpl> getDescriptorsFromClass​(javax.lang.model.element.TypeElement clazz,
                                                                             javax.annotation.processing.ProcessingEnvironment processingEnvironment)
        Returns one descriptor if this is a normal service class or two if this class is a factory. It can return an empty list if the class given us is an interface
        Parameters:
        clazz -
        Returns:
      • getDescriptorFromFactoryClass

        private static java.util.List<DescriptorImpl> getDescriptorFromFactoryClass​(javax.lang.model.element.TypeElement clazz,
                                                                                    java.util.Set<java.lang.String> contracts,
                                                                                    javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      • findFactory

        private static javax.lang.model.element.TypeElement findFactory​(javax.lang.model.element.TypeElement originalClazz,
                                                                        javax.lang.model.element.TypeElement clazz,
                                                                        java.util.List<? extends javax.lang.model.type.TypeMirror> hardenedClassTypes,
                                                                        java.util.Map<javax.lang.model.element.Name,​javax.lang.model.type.TypeMirror> classTypeMap,
                                                                        javax.annotation.processing.ProcessingEnvironment environment)
      • generateFromClass

        private static void generateFromClass​(DescriptorImpl retVal,
                                              javax.lang.model.element.Element clazz,
                                              java.util.Set<java.lang.String> contracts,
                                              javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      • getScope

        private static java.lang.String getScope​(javax.lang.model.element.Element clazz,
                                                 java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata,
                                                 javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getName

        private static java.lang.String getName​(javax.lang.model.element.Element clazz,
                                                javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      • getAllQualifiers

        private static java.util.Set<java.lang.String> getAllQualifiers​(javax.lang.model.element.Element clazz,
                                                                        java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata,
                                                                        javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getVisibility

        private static DescriptorVisibility getVisibility​(javax.lang.model.element.Element clazz,
                                                          javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getRank

        private static int getRank​(javax.lang.model.element.Element clazz,
                                   javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getUseProxy

        private static java.lang.Boolean getUseProxy​(javax.lang.model.element.Element clazz,
                                                     javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getProxyForSameScope

        private static java.lang.Boolean getProxyForSameScope​(javax.lang.model.element.Element clazz,
                                                              javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getAnalyzer

        private static java.lang.String getAnalyzer​(javax.lang.model.element.Element clazz,
                                                    javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getServiceMetadata

        private static void getServiceMetadata​(javax.lang.model.element.Element clazz,
                                               java.util.Map<java.lang.String,​java.util.List<java.lang.String>> metadata,
                                               javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getAllContracts

        private static java.util.Set<java.lang.String> getAllContracts​(javax.lang.model.element.TypeElement clazz,
                                                                       javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      • getAllSubContracts

        private static void getAllSubContracts​(javax.lang.model.element.TypeElement clazz,
                                               javax.annotation.processing.ProcessingEnvironment processingEnvironment,
                                               java.util.LinkedHashSet<java.lang.String> contracts,
                                               java.util.LinkedHashSet<java.lang.String> cycleDetector)
      • getMetadataFromAnnotation

        private static void getMetadataFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation,
                                                      javax.lang.model.element.TypeElement annotationType,
                                                      java.util.LinkedHashMap<java.lang.String,​java.util.List<java.lang.String>> metadata,
                                                      javax.annotation.processing.ProcessingEnvironment processingEnvironment)
      • addToMetadataMap

        private static void addToMetadataMap​(java.lang.String key,
                                             java.lang.String value,
                                             java.util.Map<java.lang.String,​java.util.List<java.lang.String>> metadata)
      • isAContract

        private static boolean isAContract​(javax.lang.model.element.TypeElement element)
      • nameToString

        public static java.lang.String nameToString​(javax.lang.model.element.Name name)
      • getAnnotation

        private static javax.lang.model.element.AnnotationMirror getAnnotation​(javax.lang.model.element.Element clazz,
                                                                               java.lang.String clazzName,
                                                                               javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getValueFromAnnotation

        private static javax.lang.model.element.AnnotationValue getValueFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation,
                                                                                       java.lang.String methodName,
                                                                                       javax.annotation.processing.ProcessingEnvironment processingEnv)
      • getValueFromAnnotation

        private static javax.lang.model.element.AnnotationValue getValueFromAnnotation​(javax.lang.model.element.AnnotationMirror annotation,
                                                                                       javax.annotation.processing.ProcessingEnvironment processingEnv)