Class JavaCodeSerializer

  • All Implemented Interfaces:
    Serializer

    public class JavaCodeSerializer
    extends java.lang.Object
    implements Serializer
    source code serialization for Reflections
    reflections.save(file, new JavaCodeSerializer())

    an example of produced java source:
    
     public interface MyTestModelStore {
       interface org {
         interface reflections {
           interface TestModel$C4 {
             interface fields {
               interface f1 {}
               interface f2 {}
             }
             interface methods {
               interface m1 {}
               interface add {}
             }
             interface annotations {
               ...
             }
           }
         }
       }
     }
     

    this allows strongly typed access by fqn to type elements - packages, classes, annotations, fields and methods:

    MyTestModelStore.org.reflections.TestModel$C1.methods.m1.class

    depends on TypeElementsScanner configured

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addAnnotations​(java.util.List<java.lang.String> typePaths, java.util.List<java.lang.String> annotations)  
      protected void addClass​(java.util.List<java.lang.String> typePaths, java.lang.String className)  
      protected void addFields​(java.util.List<java.lang.String> typePaths, java.util.List<java.lang.String> fields)  
      protected void addMethods​(java.util.List<java.lang.String> typePaths, java.util.List<java.lang.String> fields, java.util.List<java.lang.String> methods)  
      protected void addPackages​(java.util.List<java.lang.String> typePaths, int i)  
      private java.lang.String indent​(int times)  
      protected void indentClose​(java.util.List<java.lang.String> prevPaths)  
      protected int indentOpen​(java.util.List<java.lang.String> typePaths, java.util.List<java.lang.String> prevPaths)  
      private java.lang.String normalize​(java.lang.String candidate)  
      Reflections read​(java.io.InputStream inputStream)
      reads the input stream into a new Reflections instance, populating it's store
      java.io.File save​(Reflections reflections, java.lang.String name)
      serialize and save to java source code
      private void toString​(Reflections reflections)  
      private java.lang.String uniqueName​(java.lang.String candidate, java.util.List<java.lang.String> prev)  
      private java.lang.String uniqueName​(java.lang.String candidate, java.util.List<java.lang.String> prev, int offset)  
      • Methods inherited from class java.lang.Object

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

      • sb

        private java.lang.StringBuilder sb
      • prevPaths

        private java.util.List<java.lang.String> prevPaths
      • indent

        private int indent
    • Constructor Detail

      • JavaCodeSerializer

        public JavaCodeSerializer()
    • Method Detail

      • read

        public Reflections read​(java.io.InputStream inputStream)
        Description copied from interface: Serializer
        reads the input stream into a new Reflections instance, populating it's store
        Specified by:
        read in interface Serializer
      • save

        public java.io.File save​(Reflections reflections,
                                 java.lang.String name)
        serialize and save to java source code
        Specified by:
        save in interface Serializer
        Parameters:
        name - should be in the pattern path/path/path/package.package.classname,
      • toString

        private void toString​(Reflections reflections)
      • indentOpen

        protected int indentOpen​(java.util.List<java.lang.String> typePaths,
                                 java.util.List<java.lang.String> prevPaths)
      • indentClose

        protected void indentClose​(java.util.List<java.lang.String> prevPaths)
      • addPackages

        protected void addPackages​(java.util.List<java.lang.String> typePaths,
                                   int i)
      • addClass

        protected void addClass​(java.util.List<java.lang.String> typePaths,
                                java.lang.String className)
      • addFields

        protected void addFields​(java.util.List<java.lang.String> typePaths,
                                 java.util.List<java.lang.String> fields)
      • addMethods

        protected void addMethods​(java.util.List<java.lang.String> typePaths,
                                  java.util.List<java.lang.String> fields,
                                  java.util.List<java.lang.String> methods)
      • addAnnotations

        protected void addAnnotations​(java.util.List<java.lang.String> typePaths,
                                      java.util.List<java.lang.String> annotations)
      • uniqueName

        private java.lang.String uniqueName​(java.lang.String candidate,
                                            java.util.List<java.lang.String> prev,
                                            int offset)
      • normalize

        private java.lang.String normalize​(java.lang.String candidate)
      • uniqueName

        private java.lang.String uniqueName​(java.lang.String candidate,
                                            java.util.List<java.lang.String> prev)
      • indent

        private java.lang.String indent​(int times)