Class ConfigParser


  • public class ConfigParser
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int indent  
      private java.lang.String line  
      private java.util.Map<java.lang.String,​java.lang.Object> references  
      private java.util.StringTokenizer st  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ConfigParser​(java.lang.String config)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private void changeReference​(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.Object convert​(java.lang.String value, Converter converter)  
      private void fillBean​(java.lang.Object obj, int minLevel)  
      private boolean hasScalarConverter​(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType)  
      private boolean hasTail()  
      private boolean isSameLevel​(int newLevel, int prevLevel, int minLevel)  
      private int nextLine()  
      static <T> T parse​(java.lang.String config, java.lang.Class<T> type)  
      static <T> T parse​(java.lang.String config, java.lang.reflect.Type type)  
      private java.lang.Object parseArray​(java.lang.reflect.Type elementType, java.lang.reflect.AnnotatedType aType, int minLevel)  
      private java.lang.Object parseBean​(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>>
      T
      parseCollection​(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>>
      T
      parseMap​(T map, java.lang.reflect.AnnotatedType aType, java.lang.reflect.Type keyType, java.lang.reflect.Type valueType, int minLevel)  
      private java.lang.Object parseReference()  
      private java.lang.Object parseScalar​(java.lang.Class<?> type, java.lang.reflect.AnnotatedType aType, java.lang.String value)  
      private java.lang.Object parseValue​(java.lang.reflect.Type type, java.lang.reflect.AnnotatedType aType, int level)  
      private void registerReference​(java.lang.Object ref)  
      private java.lang.Class<?> resolveArrayElementType​(java.lang.reflect.Type elementType)  
      private void skipSpaces​(int from)  
      private java.lang.String tail()  
      • Methods inherited from class java.lang.Object

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

      • st

        private final java.util.StringTokenizer st
      • references

        private final java.util.Map<java.lang.String,​java.lang.Object> references
      • line

        private java.lang.String line
      • indent

        private int indent
    • Constructor Detail

      • ConfigParser

        private ConfigParser​(java.lang.String config)
    • 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()