Class JavaCodeSerializer

  • All Implemented Interfaces:
    Serializer

    public class JavaCodeSerializer
    extends Object
    implements Serializer
    Serialization of Reflections to java code

    Serializes types and types elements into interfaces respectively to fully qualified name,

    For example, after saving with JavaCodeSerializer:

       reflections.save(filename, new JavaCodeSerializer());
     

    Saved file should look like:

         public interface MyModel {
          public interface my {
           public interface package1 {
            public interface MyClass1 {
             public interface fields {
              public interface f1 {}
              public interface f2 {}
             }
             public interface methods {
              public interface m1 {}
              public interface m2 {}
             }
            ...
     }
     

    Use the different resolve methods to resolve the serialized element into Class, Field or Method. for example:

      Class m1Ref = MyModel.my.package1.MyClass1.methods.m1.class;
      Method method = JavaCodeSerializer.resolve(m1Ref);
     

    The save(org.reflections.Reflections, String) method filename should be in the pattern: path/path/path/package.package.classname

    depends on Reflections configured with TypeElementsScanner

    • Constructor Detail

      • JavaCodeSerializer

        public JavaCodeSerializer()
    • Method Detail

      • read

        public Reflections read​(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 File save​(Reflections reflections,
                         String name)
        name should be in the pattern: path/path/path/package.package.classname, for example
        /data/projects/my/src/main/java/org.my.project.MyStore
        would create class MyStore in package org.my.project in the path /data/projects/my/src/main/java
        Specified by:
        save in interface Serializer
      • toString

        public String toString​(Reflections reflections)
        Description copied from interface: Serializer
        returns a string serialization of the given Reflections instance
        Specified by:
        toString in interface Serializer
      • resolveClass

        public static Class<?> resolveClass​(Class aClass)
      • resolveField

        public static Field resolveField​(Class aField)
      • resolveAnnotation

        public static Annotation resolveAnnotation​(Class annotation)
      • resolveMethod

        public static Method resolveMethod​(Class aMethod)