Package org.reflections.serializers
Class JavaCodeSerializer
java.lang.Object
org.reflections.serializers.JavaCodeSerializer
- All Implemented Interfaces:
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
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAnnotations
(List<String> typePaths, List<String> annotations) protected void
protected void
protected void
protected void
addPackages
(List<String> typePaths, int i) private String
indent
(int times) protected void
indentClose
(List<String> prevPaths) protected int
indentOpen
(List<String> typePaths, List<String> prevPaths) private String
read
(InputStream inputStream) reads the input stream into a new Reflections instance, populating it's storesave
(Reflections reflections, String name) serialize and save to java source codeprivate void
toString
(Reflections reflections) private String
uniqueName
(String candidate, List<String> prev) private String
uniqueName
(String candidate, List<String> prev, int offset)
-
Field Details
-
pathSeparator
- See Also:
-
doubleSeparator
- See Also:
-
dotSeparator
- See Also:
-
arrayDescriptor
- See Also:
-
tokenSeparator
- See Also:
-
sb
-
prevPaths
-
indent
private int indent
-
-
Constructor Details
-
JavaCodeSerializer
public JavaCodeSerializer()
-
-
Method Details
-
read
Description copied from interface:Serializer
reads the input stream into a new Reflections instance, populating it's store- Specified by:
read
in interfaceSerializer
-
save
serialize and save to java source code- Specified by:
save
in interfaceSerializer
- Parameters:
name
- should be in the patternpath/path/path/package.package.classname
,
-
toString
-
indentOpen
-
indentClose
-
addPackages
-
addClass
-
addFields
-
addMethods
-
addAnnotations
-
uniqueName
-
normalize
-
uniqueName
-
indent
-