private StandardType createStandardType(ITypeBinding binding) { IJavaScriptElement javaElement = binding.getJavaElement(); StandardType result = (StandardType) fStandardTypes.get(javaElement); if (result != null) return result; result = new StandardType(this); fStandardTypes.put(javaElement, result); result.initialize(binding, (IType) javaElement); if (OBJECT_TYPE == null && result.isJavaLangObject()) OBJECT_TYPE = result; return result; }
PrimitiveType createUnBoxed(StandardType type) { String name = type.getPlainPrettySignature(); for (int i = 0; i < BOXED_PRIMITIVE_NAMES.length; i++) { if (BOXED_PRIMITIVE_NAMES[i].equals(name)) return PRIMITIVE_TYPES[i]; } return null; }
/** * Guesses at the standard type that corresponds to the given name. Returns null if no known * corresponding type. */ public static StandardType standardType(String name) { if (name == null) { return null; } if (name.equalsIgnoreCase("INT")) { name = "INTEGER"; } if (name.equalsIgnoreCase("DATETIME")) { name = "TIMESTAMP"; } if (name.equalsIgnoreCase("DATETIME WITH TIMEZONE")) { name = "TIMESTAMPZ"; } if (name.equalsIgnoreCase("TIME WITH TIMEZONE")) { name = "TIMEZ"; } try { return StandardType.valueOf(name.toUpperCase()); } catch (IllegalArgumentException e) { return null; } }
public DataType(StandardType type, Object... parameters) { this(type.name(), parameters); this.standardType = type; }