Package one.nio.config
Class ConfigParser
- java.lang.Object
-
- one.nio.config.ConfigParser
-
public class ConfigParser extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private intindentprivate java.lang.Stringlineprivate java.util.Map<java.lang.String,java.lang.Object>referencesprivate java.util.StringTokenizerst
-
Constructor Summary
Constructors Modifier Constructor Description privateConfigParser(java.lang.String config)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidchangeReference(java.util.List<?> list, java.lang.Object array)private static java.util.Map<java.lang.String,java.lang.reflect.Field>collectFields(java.lang.Class<?> cls)private java.lang.Objectconvert(java.lang.String value, Converter converter)private voidfillBean(java.lang.Object obj, int minLevel)private booleanhasScalarConverter(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType)private booleanhasTail()private booleanisSameLevel(int newLevel, int prevLevel, int minLevel)private intnextLine()static <T> Tparse(java.lang.String config, java.lang.Class<T> type)static <T> Tparse(java.lang.String config, java.lang.reflect.Type type)private java.lang.ObjectparseArray(java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel)private java.lang.ObjectparseBean(java.lang.Class<?> type, int minLevel)private java.util.Collection<java.lang.Object>parseCollection(java.lang.Class<?> rawType, java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel)private <T extends java.util.Collection<java.lang.Object>>
TparseCollection(T list, java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel)private java.util.Map<java.lang.Object,java.lang.Object>parseMap(java.lang.Class<?> rawType, java.lang.reflect.AnnotatedType aType, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType, int minLevel)private <T extends java.util.Map<java.lang.Object,java.lang.Object>>
TparseMap(T map, java.lang.reflect.AnnotatedType aType, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType, int minLevel)private java.lang.ObjectparseReference()private java.lang.ObjectparseScalar(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType, java.lang.String value)private java.lang.ObjectparseValue(java.lang.reflect.Type type, java.lang.reflect.AnnotatedType aType, int level)private voidregisterReference(java.lang.Object ref)private java.lang.Class<?>resolveArrayElementType(java.lang.reflect.Type elementType)private voidskipSpaces(int from)private java.lang.Stringtail()
-
-
-
Method Detail
-
parse
public static <T> T parse(java.lang.String config, java.lang.Class<T> type)
-
parse
public static <T> T parse(java.lang.String config, java.lang.reflect.Type type)
-
parseValue
private java.lang.Object parseValue(java.lang.reflect.Type type, java.lang.reflect.AnnotatedType aType, int level) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
parseBean
private java.lang.Object parseBean(java.lang.Class<?> type, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
fillBean
private void fillBean(java.lang.Object obj, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
convert
private java.lang.Object convert(java.lang.String value, Converter converter) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
parseArray
private java.lang.Object parseArray(java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
resolveArrayElementType
private java.lang.Class<?> resolveArrayElementType(java.lang.reflect.Type elementType)
-
changeReference
private void changeReference(java.util.List<?> list, java.lang.Object array)
-
parseCollection
private java.util.Collection<java.lang.Object> parseCollection(java.lang.Class<?> rawType, java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
parseCollection
private <T extends java.util.Collection<java.lang.Object>> T parseCollection(T list, java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
parseMap
private java.util.Map<java.lang.Object,java.lang.Object> parseMap(java.lang.Class<?> rawType, java.lang.reflect.AnnotatedType aType, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
parseMap
private <T extends java.util.Map<java.lang.Object,java.lang.Object>> T parseMap(T map, java.lang.reflect.AnnotatedType aType, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType, int minLevel) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
isSameLevel
private boolean isSameLevel(int newLevel, int prevLevel, int minLevel)
-
hasScalarConverter
private boolean hasScalarConverter(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType)
-
parseScalar
private java.lang.Object parseScalar(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType, java.lang.String value) throws java.lang.ReflectiveOperationException- Throws:
java.lang.ReflectiveOperationException
-
registerReference
private void registerReference(java.lang.Object ref)
-
parseReference
private java.lang.Object parseReference()
-
collectFields
private static java.util.Map<java.lang.String,java.lang.reflect.Field> collectFields(java.lang.Class<?> cls)
-
nextLine
private int nextLine()
-
skipSpaces
private void skipSpaces(int from)
-
tail
private java.lang.String tail()
-
hasTail
private boolean hasTail()
-
-