protected boolean isWrapperType(EClassifier eClassifier) { String name = extendedMetaData.getName(eClassifier); return name.endsWith(":Object") && !EcorePackage.eNS_URI.equals(extendedMetaData.getNamespace(eClassifier)); }
@Override protected void freeze() { // Bug 433108: Lock in the shared extended metadata for this feature ExtendedMetaData.INSTANCE.getName(this); super.freeze(); }
protected String getURI(EStructuralFeature eStructuralFeature) { String namespace = extendedMetaData.getNamespace(eStructuralFeature); String name = extendedMetaData.getName(eStructuralFeature); if (XMLTypePackage.eNS_URI.equals(namespace)) { namespace = defaultXMLSchemaNamespace; } String result = namespace == null ? name : namespace + "#" + name; return result; }
@Override protected void freeze() { // Bug 433108: Lock in the shared extended metadata for this data type ExtendedMetaData.INSTANCE.getName(this); super.freeze(); }
protected boolean isWrapperType(EClassifier eClassifier) { String name = extendedMetaData.getName(eClassifier); return name.endsWith(":Object") && !EcorePackage.eNS_URI.equals(extendedMetaData.getNamespace(eClassifier)); }
@Override protected void freeze() { // Bug 433108: Lock in the shared extended metadata for this feature ExtendedMetaData.INSTANCE.getName(this); super.freeze(); }
protected boolean isDerivedType(EDataType eDataType, String baseNamespace, String baseName, Collection<String> baseNames) { for (ExtendedMetaData extendedMetaData = getExtendedMetaData(); eDataType != null; eDataType = extendedMetaData.getBaseType(eDataType)) { String namespace = extendedMetaData.getNamespace(eDataType); String name = extendedMetaData.getName(eDataType); if ((baseNamespace == null || baseNamespace.equals(namespace)) && (baseName == null || baseName.equals(name)) && (baseNames == null || baseNames.contains(name))) { return true; } } return false; }
@Override protected void freeze() { // Bug 433108: Lock in the shared extended metadata for this data type ExtendedMetaData.INSTANCE.getName(this); super.freeze(); }
public boolean isXMLDuration() { ExtendedMetaData extendedMetaData = getExtendedMetaData(); for (EDataType eDataType = getEcoreDataType(); eDataType != null; eDataType = extendedMetaData.getBaseType(eDataType)) { String namespace = extendedMetaData.getNamespace(eDataType); String name = extendedMetaData.getName(eDataType); if (XMLTypePackage.eNS_URI.equals(namespace) && "duration".equals(name)) { return true; } } return false; }
protected void populateTypeToTypeObjectMap(EPackage ePackage) { for (EClassifier eClassifier : ePackage.getEClassifiers()) { String xmlName = extendedMetaData.getName(eClassifier); if (xmlName != null && xmlName.endsWith(":Object")) { typeToTypeObjectMap.put(extendedMetaData.getType(ePackage, xmlName.substring(0, xmlName.length() - 7)), eClassifier); } } }
public boolean isXMLCalendar() { ExtendedMetaData extendedMetaData = getExtendedMetaData(); for (EDataType eDataType = getEcoreDataType(); eDataType != null; eDataType = extendedMetaData.getBaseType(eDataType)) { String namespace = extendedMetaData.getNamespace(eDataType); String name = extendedMetaData.getName(eDataType); if (XMLTypePackage.eNS_URI.equals(namespace) && xmlCalendarTypes.contains(name)) { return true; } } return false; }
protected void populateTypeToTypeObjectMap(EPackage ePackage) { for (EClassifier eClassifier : ePackage.getEClassifiers()) { String xmlName = extendedMetaData.getName(eClassifier); if (xmlName != null && xmlName.endsWith(":Object")) { typeToTypeObjectMap.put(extendedMetaData.getType(ePackage, xmlName.substring(0, xmlName.length() - 7)), eClassifier); } } }
public boolean isXMLBoolean() { ExtendedMetaData extendedMetaData = getExtendedMetaData(); for (EDataType eDataType = getEcoreDataType(); eDataType != null; eDataType = extendedMetaData.getBaseType(eDataType)) { String namespace = extendedMetaData.getNamespace(eDataType); String name = extendedMetaData.getName(eDataType); if (XMLTypePackage.eNS_URI.equals(namespace) && "boolean".equals(name)) { return true; } } return false; }
protected void reportXMLGregorianCalendarViolation (EDataType eDataType, XMLGregorianCalendar value, DiagnosticChain diagnostics, Map<Object, Object> context) { createDiagnostic (Diagnostic.ERROR, DIAGNOSTIC_SOURCE, WELL_FORMED_XML_GREGORIAN_CALENDAR, "_UI_BadXMLGregorianCalendar_diagnostic", new Object [] { getValueLabel(eDataType, value, context), ExtendedMetaData.INSTANCE.getName(eDataType) }, new Object [] { value }, context); }
protected void reportXMLGregorianCalendarViolation (EDataType eDataType, XMLGregorianCalendar value, DiagnosticChain diagnostics, Map<Object, Object> context) { createDiagnostic (Diagnostic.ERROR, DIAGNOSTIC_SOURCE, WELL_FORMED_XML_GREGORIAN_CALENDAR, "_UI_BadXMLGregorianCalendar_diagnostic", new Object [] { getValueLabel(eDataType, value, context), ExtendedMetaData.INSTANCE.getName(eDataType) }, new Object [] { value }, context); }
public GenDataType getObjectType() { ExtendedMetaData extendedMetaData = getExtendedMetaData(); EDataType eDataType = getEcoreDataType(); EClassifier eClassifier = extendedMetaData.getType(eDataType.getEPackage(), extendedMetaData.getName(eDataType) + ":Object"); if (eClassifier instanceof EDataType) { GenDataType result = findGenDataType((EDataType)eClassifier); if (result != null) { return result; } } return this; }
public GenDataType getObjectType() { ExtendedMetaData extendedMetaData = getExtendedMetaData(); EDataType eDataType = getEcoreDataType(); EClassifier eClassifier = extendedMetaData.getType(eDataType.getEPackage(), extendedMetaData.getName(eDataType) + ":Object"); if (eClassifier instanceof EDataType) { GenDataType result = findGenDataType((EDataType)eClassifier); if (result != null) { return result; } } return this; }
protected XSDElementDeclaration buildGlobalElement(XSDSchema xsdSchema, EClass eClass) { XSDElementDeclaration xsdElementDeclaration = XSDFactory.eINSTANCE.createXSDElementDeclaration(); xsdElementDeclaration.setName(extendedMetaData.getName(eClass)); XSDTypeDefinition xsdTypeDefinition = xsdSchema.resolveTypeDefinitionURI(getURI(eClass)); handleImport(xsdSchema, xsdTypeDefinition); xsdElementDeclaration.setTypeDefinition(xsdTypeDefinition); xsdSchema.getContents().add(xsdElementDeclaration); map(xsdElementDeclaration, eClass); createEcoreAnnotation(xsdElementDeclaration, "ignore", "true"); return xsdElementDeclaration; }
protected XSDElementDeclaration buildGlobalElement(XSDSchema xsdSchema, EClass eClass) { XSDElementDeclaration xsdElementDeclaration = XSDFactory.eINSTANCE.createXSDElementDeclaration(); xsdElementDeclaration.setName(extendedMetaData.getName(eClass)); XSDTypeDefinition xsdTypeDefinition = xsdSchema.resolveTypeDefinitionURI(getURI(eClass)); handleImport(xsdSchema, xsdTypeDefinition); xsdElementDeclaration.setTypeDefinition(xsdTypeDefinition); xsdSchema.getContents().add(xsdElementDeclaration); map(xsdElementDeclaration, eClass); createEcoreAnnotation(xsdElementDeclaration, "ignore", "true"); return xsdElementDeclaration; }
protected void checkForPrimitive(EDataType eDataType) { int index = PRIMITIVES.indexOf(eDataType.getInstanceTypeName()); if (index != -1 || eDataType instanceof EEnum) { EDataType eDataTypeObject = EcoreFactory.eINSTANCE.createEDataType(); eDataTypeObject.setName(eDataType.getName() + "Object"); if (index != -1) { eDataTypeObject.setInstanceTypeName(PRIMITIVE_WRAPPERS[index]); } else { eDataTypeObject.setInstanceTypeName("org.eclipse.emf.common.util.Enumerator"); } extendedMetaData.setName(eDataTypeObject, extendedMetaData.getName(eDataType) + ":Object"); addToSortedList(eDataType.getEPackage().getEClassifiers(), eDataTypeObject); extendedMetaData.setBaseType(eDataTypeObject, eDataType); typeToTypeObjectMap.put(eDataType, eDataTypeObject); } }