/** * Copyright 2005-2016 Red Hat, Inc. * * Red Hat licenses this file to you under the Apache License, version * 2.0 (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. */ package io.fabric8.tools.apt; import java.util.HashMap; import java.util.Map; /** * Maps Java types to JSON Schema types */ public class JsonSchemaTypes { protected static Map<String,String> javaToJsonSchemaTypes = new HashMap<>(); static { addTypeAliases("boolean", Boolean.class.getName(), "boolean"); addTypeAliases("integer", Byte.class.getName(), Character.class.getName(), Short.class.getName(), Integer.class.getName(), Long.class.getName(), "byte", "char", "short", "int", "long"); addTypeAliases("number", Float.class.getName(), Double.class.getName(), "float", "double"); addTypeAliases("string", String.class.getName()); } protected static void addTypeAliases(String jsonSchemaType, String... javaTypeNames) { for (String javaTypeName : javaTypeNames) { javaToJsonSchemaTypes.put(javaTypeName, jsonSchemaType); } } public static String getJsonSchemaTypeName(String javaTypeName) { String answer = javaToJsonSchemaTypes.get(javaTypeName); return answer != null ? answer : javaTypeName; } }