/**
*
*/
package org.ebayopensource.turmeric.tools.codegen.fastserformat.protobuf;
import java.util.HashMap;
import java.util.Map;
import javax.xml.namespace.QName;
import org.ebayopensource.turmeric.tools.codegen.external.wsdl.parser.WSDLParserConstants;
/**
* @author rkulandaivel
*
*/
public class InBuiltType2ProtobufTypeMap {
private static final Map<QName, String> s_map = new HashMap<QName, String>();
private static QName qName( String primitiveTypeName){
return new QName( WSDLParserConstants.NS_URI_2001_SCHEMA_XSD, primitiveTypeName );
}
public static final QName POSITIVEINTEGER_TYPE = qName("positiveInteger");
public static final QName INT_TYPE = qName("int");
public static final QName STRING_TYPE = qName("string");
public static final QName INTEGER_TYPE = qName("integer");
public static final QName LONG_TYPE = qName("long");
public static final QName DECIMAL_TYPE = qName("decimal");
public static final QName ID_TYPE = qName("ID");
public static final QName NMTOKEN_TYPE = qName("NMTOKEN");
public static final QName NMTOKENS_TYPE = qName("NMTOKENS");
public static final QName ANYURI_TYPE = qName("anyURI");
public static final QName BOOLEAN_TYPE = qName("boolean");
public static final QName BYTE_TYPE = qName("byte");
public static final QName BASE64BINARY_TYPE = qName("base64Binary");
public static final QName DATE_TYPE = qName("date");
public static final QName FLOAT_TYPE = qName("float");
public static final QName DOUBLE_TYPE = qName("double");
public static final QName DURATION_TYPE = qName("duration");
public static final QName DATETIME_TYPE = qName("dateTime");
public static final QName TIME_TYPE = qName("time");
public static final QName GYEARMONTH_TYPE = qName("gYearMonth");
public static final QName GYEAR_TYPE = qName("gYear");
public static final QName GMONTHDAY_TYPE = qName("gMonthDay");
public static final QName GDAY_TYPE = qName("gDay");
public static final QName GMONTH_TYPE = qName("gMonth");
public static final QName HEXBINARY_TYPE = qName("hexBinary");
public static final QName QNAME_TYPE = qName("QName");
public static final QName TOKEN_TYPE = qName("token");
public static final QName ENTITY_TYPE = qName("ENTITY");
public static final QName ENTITIES_TYPE = qName("ENTITIES");
public static final QName LANGUAGE_TYPE = qName("language");
public static final QName NAME_TYPE = qName("Name");
public static final QName NC_NAME_TYPE = qName("NCName");
public static final QName NEGATIVEINTEGER_TYPE = qName("negativeInteger");
public static final QName NONNEGATIVEINTEGER_TYPE = qName("nonNegativeInteger");
public static final QName NONPOSITIVEINTEGER_TYPE = qName("nonPositiveInteger");
public static final QName NOMALIZED_TYPE = qName("normalizedString");
public static final QName USIGNED_BYTE_TYPE = qName("unsignedByte");
public static final QName USIGNED_INT = qName("unsignedInt");
public static final QName USIGNED_LONG = qName("unsignedLong");
public static final QName USIGNED_SHORT = qName("unsignedShort");
public static final QName SHORT = qName("short");
static{
s_map.put(POSITIVEINTEGER_TYPE, "string");
s_map.put(INT_TYPE, "sint32");
s_map.put(STRING_TYPE, "string");
s_map.put(INTEGER_TYPE, "string");
s_map.put(LONG_TYPE, "sint64");
s_map.put(DECIMAL_TYPE, "string");
s_map.put(ID_TYPE, "string");
s_map.put(NMTOKEN_TYPE, "string");
s_map.put(NMTOKENS_TYPE, "string");
s_map.put(ANYURI_TYPE, "string");
s_map.put(BOOLEAN_TYPE, "bool");
s_map.put(BYTE_TYPE, "sint32");
s_map.put(BASE64BINARY_TYPE, "bytes");
s_map.put(DATE_TYPE, "sint64");
s_map.put(FLOAT_TYPE, "float");
s_map.put(DOUBLE_TYPE, "double");
s_map.put(DURATION_TYPE, "sint64");
s_map.put(DATETIME_TYPE, "sint64");
s_map.put(TIME_TYPE, "sint64");
s_map.put(GYEARMONTH_TYPE, "sint64");
s_map.put(GYEAR_TYPE, "sint64");
s_map.put(GMONTHDAY_TYPE, "sint64");
s_map.put(GDAY_TYPE, "sint64");
s_map.put(GMONTH_TYPE, "sint64");
s_map.put(HEXBINARY_TYPE, "bytes");
s_map.put(QNAME_TYPE, "string");
s_map.put(TOKEN_TYPE, "string");
s_map.put(ENTITY_TYPE, "string");
s_map.put(ENTITIES_TYPE, "string");
s_map.put(LANGUAGE_TYPE, "string");
s_map.put(NAME_TYPE, "string");
s_map.put(NC_NAME_TYPE, "string");
s_map.put(NEGATIVEINTEGER_TYPE, "string");
s_map.put(NONNEGATIVEINTEGER_TYPE, "string");
s_map.put(NONPOSITIVEINTEGER_TYPE, "string");
s_map.put(NOMALIZED_TYPE, "string");
s_map.put(USIGNED_BYTE_TYPE, "sint32");
s_map.put(USIGNED_INT, "sint64");
s_map.put(USIGNED_LONG, "string");
s_map.put(USIGNED_SHORT, "sint32");
s_map.put(SHORT, "sint32");
}
public static String getProtoType(QName xsdType){
return s_map.get(xsdType);
}
public static String getProtoType(String xsdType){
return s_map.get( qName(xsdType) );
}
public static boolean isValidInBuiltType(QName xsdType){
if( xsdType == null ){
return false;
}
return s_map.get(xsdType) != null;
}
}