public static String type()

in integrations/rest-management/rest-management/src/main/java/org/apache/aries/jax/rs/rest/management/internal/coerce/Coerce.java [72:121]


    public static String type(JsonNode node, String name) {
        if (Constants.SERVICE_ID.equals(name) ||
            Constants.SERVICE_BUNDLEID.equals(name)) {
            return "Long";
        }
        else if (Constants.SERVICE_RANKING.equals(name)) {
            return "Integer";
        }
        else if (Constants.OBJECTCLASS.equals(name) ||
                 Constants.SERVICE_PID.equals(name) ||
                 Constants.SERVICE_SCOPE.equals(name)) {
            return "String";
        }

        if (node.isArray()) {
            if (node.isEmpty()) {
                return "String";
            }

            node = node.get(0);
        }

        if (node.isBoolean()) {
            return "Boolean";
        }
        else if (node.isLong()) {
            return "Long";
        }
        else if (node.isInt()) {
            return "Integer";
        }
        else if (node.isNumber()) {
            String nodeValue = node.asText();
            try {
                Long.parseLong(nodeValue);
                return "Long";
            }
            catch (NumberFormatException nfe1) {
                try {
                    Double.parseDouble(nodeValue);
                    return "Double";
                }
                catch (NumberFormatException nfe2) {
                    throw new IllegalArgumentException(nfe2);
                }
            }
        }

        return "String";
    }