public T convert()

in impl/src/main/java/org/apache/geronimo/config/converters/ImplicitConverter.java [124:173]


        public T convert(String valueStr) {
            if (valueStr == null)
            {
                return null;
            }

            List list = new ArrayList();
            StringBuilder currentValue = new StringBuilder();
            int length = valueStr.length();
            for (int i = 0; i < length; i++)
            {
                char c = valueStr.charAt(i);
                if (c == '\\')
                {
                    if (i < length - 1)
                    {
                        char nextC = valueStr.charAt(i + 1);
                        currentValue.append(nextC);
                        i++;
                    }
                }
                else if (c == ',')
                {
                    String trimedVal = currentValue.toString().trim();
                    if (trimedVal.length() > 0)
                    {
                        list.add(converter.convert(trimedVal));
                    }

                    currentValue.setLength(0);
                }
                else
                {
                    currentValue.append(c);
                }
            }

            String trimedVal = currentValue.toString().trim();
            if (trimedVal.length() > 0)
            {
                list.add(converter.convert(trimedVal));
            }

            // everything else is an Object array
            Object array = Array.newInstance(type, list.size());
            for (int i=0; i < list.size(); i++) {
                Array.set(array, i, list.get(i));
            }
            return (T) array;
        }