private T convert()

in core/spi/src/main/java/org/wildfly/swarm/spi/api/config/Builder.java [96:138]


    private T convert(String value) throws MalformedURLException {

        if (value == null) {
            if (defaultValue != null) {
                if (defaultValue instanceof String) {
                    value = (String) defaultValue;
                } else {
                    return defaultValue;
                }
            } else {
                return null;
            }
        }

        Object result = null;

        if (this.converter != null) {
            try {
                result = converter.convert(value);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        } else if (String.class.equals(targetType)) {
            result = value;
        } else if (Boolean.class.equals(targetType)) {
            Boolean isTrue = "TRUE".equalsIgnoreCase(value);
            isTrue |= "1".equalsIgnoreCase(value);

            result = isTrue;
        } else if (Integer.class.equals(targetType)) {
            result = Integer.parseInt(value);
        } else if (Long.class.equals(targetType)) {
            result = Long.parseLong(value);
        } else if (Float.class.equals(targetType)) {
            result = Float.parseFloat(value);
        } else if (Double.class.equals(targetType)) {
            result = Double.parseDouble(value);
        } else if (URL.class.equals(targetType)) {
            result = new URL(value);
        }

        return (T) result;
    }