public List resolveInstances()

in core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/SystemPropertyResolver.java [41:83]


    public <K, T> List<T> resolveInstances(ConfiguredValueDescriptor<K, T> descriptor)
    {
        String key = "" + descriptor.getKey();

        if(!key.contains("."))
        {
            key = BASE_NAME + key;
        }

        String configuredValue = System.getProperty(key);

        if(configuredValue == null)
        {
            return Collections.emptyList();
        }
        
        if(!String.class.isAssignableFrom(descriptor.getTargetType()))
        {
            if(Boolean.class.isAssignableFrom(descriptor.getTargetType()))
            {
                add(descriptor.getTargetType().cast(Boolean.parseBoolean(configuredValue)));
            }
            else if(Integer.class.isAssignableFrom(descriptor.getTargetType()))
            {
                add(descriptor.getTargetType().cast(Integer.parseInt(configuredValue)));
            }
            else
            {
                Class<T> targetClass = ClassUtils.tryToLoadClassForName(configuredValue, descriptor.getTargetType());

                if(targetClass != null)
                {
                    add(targetClass);
                }
            }
        }
        else
        {
            add(configuredValue);
        }

        return getConfiguredValues(descriptor.getTargetType());
    }