Package org.reflections.serializers
Class JavaCodeSerializer
- java.lang.Object
-
- org.reflections.serializers.JavaCodeSerializer
-
- All Implemented Interfaces:
Serializer
public class JavaCodeSerializer extends java.lang.Object implements Serializer
Serialization of Reflections to java codeSerializes 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.classnamedepends on Reflections configured with
TypeElementsScanner
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
arrayDescriptor
private static java.lang.String
dotSeparator
private static java.lang.String
doubleSeparator
private static java.lang.String
pathSeparator
private static java.lang.String
tokenSeparator
-
Constructor Summary
Constructors Constructor Description JavaCodeSerializer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
getNonDuplicateName(java.lang.String candidate, java.util.List<java.lang.String> prev)
private java.lang.String
getNonDuplicateName(java.lang.String candidate, java.util.List<java.lang.String> prev, int offset)
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 storestatic java.lang.annotation.Annotation
resolveAnnotation(java.lang.Class annotation)
static java.lang.Class<?>
resolveClass(java.lang.Class aClass)
static java.lang.Class<?>
resolveClassOf(java.lang.Class element)
static java.lang.reflect.Field
resolveField(java.lang.Class aField)
static java.lang.reflect.Method
resolveMethod(java.lang.Class aMethod)
java.io.File
save(Reflections reflections, java.lang.String name)
name should be in the pattern: path/path/path/package.package.classname, for examplejava.lang.String
toString(Reflections reflections)
returns a string serialization of the given Reflections instance
-
-
-
Field Detail
-
pathSeparator
private static final java.lang.String pathSeparator
- See Also:
- Constant Field Values
-
doubleSeparator
private static final java.lang.String doubleSeparator
- See Also:
- Constant Field Values
-
dotSeparator
private static final java.lang.String dotSeparator
- See Also:
- Constant Field Values
-
arrayDescriptor
private static final java.lang.String arrayDescriptor
- See Also:
- Constant Field Values
-
tokenSeparator
private static final java.lang.String tokenSeparator
- See Also:
- Constant Field Values
-
-
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 interfaceSerializer
-
save
public java.io.File save(Reflections reflections, java.lang.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 interfaceSerializer
-
toString
public java.lang.String toString(Reflections reflections)
Description copied from interface:Serializer
returns a string serialization of the given Reflections instance- Specified by:
toString
in interfaceSerializer
-
getNonDuplicateName
private java.lang.String getNonDuplicateName(java.lang.String candidate, java.util.List<java.lang.String> prev, int offset)
-
normalize
private java.lang.String normalize(java.lang.String candidate)
-
getNonDuplicateName
private java.lang.String getNonDuplicateName(java.lang.String candidate, java.util.List<java.lang.String> prev)
-
resolveClassOf
public static java.lang.Class<?> resolveClassOf(java.lang.Class element) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
resolveClass
public static java.lang.Class<?> resolveClass(java.lang.Class aClass)
-
resolveField
public static java.lang.reflect.Field resolveField(java.lang.Class aField)
-
resolveAnnotation
public static java.lang.annotation.Annotation resolveAnnotation(java.lang.Class annotation)
-
resolveMethod
public static java.lang.reflect.Method resolveMethod(java.lang.Class aMethod)
-
-