org.eclipse.emf.ecore.util
Interface ExtendedMetaData

All Known Implementing Classes:
BasicExtendedMetaData, Ecore2XMLExtendedMetaData, EMOFExtendedMetaData

public interface ExtendedMetaData

Interface for accessing and setting extended metadata on Ecore model elements. Such metadata is primarily used to support structures defined in XML schema and to retain additional information that a resource requires to produce conforming serializations. However, non-schema-based models may use this interface to support constructs such as mixed content, repeating model groups, and wildcard features, as well as to customize model serialization.

The extended metadata is stored on an Ecore model element as an annotation with source ANNOTATION_URI. Each piece of information is recorded as a key-value pair of strings in its details map. This interface provides the following utility methods to set and query those annotations:

In additional, a number of convenience lookup methods are provided.

A single instance can be used to handle all related (or unrelated) metadata, as its only state is the package registry from which to obtain metadata, and the demand package registry, which stores demand-created metadata when processing data for which metadata has not already been defined.


Field Summary
static java.lang.String ANNOTATION_URI
          The URI used as the annotation source: "http:///org/eclipse/emf/ecore/util/ExtendedMetaData".
static int ATTRIBUTE_FEATURE
          The feature kind ID representing an attribute.
static int ATTRIBUTE_WILDCARD_FEATURE
          The feature kind ID representing an anyAttribute wildcard.
static int COLLAPSE_WHITE_SPACE
          The white space kind ID for collapse (all contiguous white space characters to a single space).
static java.lang.String[] CONTENT_KINDS
          The strings used to represent the various content kinds in extended metadata annotations, indexed by kind ID.
static java.lang.String[] DERIVATION_KINDS
          The strings used to represent the various derivation kinds , indexed by kind ID.
static int ELEMENT_FEATURE
          The feature kind ID representing an element.
static int ELEMENT_ONLY_CONTENT
          The content kind ID specifying element content.
static int ELEMENT_WILDCARD_FEATURE
          The feature kind ID representing an any element wildcard.
static int EMPTY_CONTENT
          The content kind ID specifying empty content.
static java.lang.String[] FEATURE_KINDS
          The strings used to represent the various feature kinds in extended metadata annotations, indexed by kind ID.
static int GROUP_FEATURE
          The feature kind ID representing a repeating model group.
static ExtendedMetaData INSTANCE
          The default ExtendedMetaData instance, which obtains packages from the global package registry, EPackage.Registry.INSTANCE.
static int LAX_PROCESSING
          The processing kind ID for lax processing.
static int LIST_DERIVATION
          The derivation kind ID for list.
static int MIXED_CONTENT
          The content kind ID specifying mixed content.
static int PRESERVE_WHITE_SPACE
          The white space kind ID for preserve.
static java.lang.String[] PROCESSING_KINDS
          The strings used to represent the various processing kinds in extended metadata annotations, indexed by kind ID.
static int REPLACE_WHITE_SPACE
          The white space kind ID for replace (each white space character by a space).
static int RESTRICTION_DERIVATION
          The derivation kind ID for restriction.
static int SIMPLE_CONTENT
          The content kind ID specifying simple content.
static int SIMPLE_FEATURE
          The feature kind ID representing a simple value.
static int SKIP_PROCESSING
          The processing kind ID for skip processing.
static int STRICT_PROCESSING
          The processing kind ID for strict processing.
static int UNION_DERIVATION
          The derivation kind ID for union.
static int UNSPECIFIED_CONTENT
          The content kind ID for an unspecified kind.
static int UNSPECIFIED_DERIVATION
          The derivation kind ID for an unspecified derivation.
static int UNSPECIFIED_FEATURE
          The feature kind ID for an unspecified kind.
static int UNSPECIFIED_PROCESSING
          The processing kind ID for unspecified processing.
static int UNSPECIFIED_WHITE_SPACE
          The white space kind ID for an unspecified kind.
static java.lang.String[] WHITE_SPACE_KINDS
          The strings used to represent the various white space kinds in extended metadata annotations, indexed by kind ID.
static java.lang.String XMI_URI
          The XMI namespace URI: "http://www.omg.org/XMI".
static java.lang.String XML_SCHEMA_URI
          The XML Schema namespace URI: "http://www.w3.org/2001/XMLSchema".
static java.lang.String XML_URI
          The XML namespace URI: "http://www.w3.org/XML/1998/namespace".
static java.lang.String XMLNS_PREFIX
          The prefix reserved for XML namespaces: "xmlns".
static java.lang.String XMLNS_URI
          The namespace URI for XML namespaces: "http://www.w3.org/2000/xmlns/".
static java.lang.String XSI_PREFIX
          The prefix used for the XML Schema instance namespace.
static java.lang.String XSI_URI
          The XML Schema instance namespace URI: "http://www.w3.org/2001/XMLSchema-instance".
 
Method Summary
 java.util.Collection<EPackage> demandedPackages()
          Returns the instance's collection of demand-created packages.
 EStructuralFeature demandFeature(java.lang.String namespace, java.lang.String name, boolean isElement)
          Returns a feature corresponding to a global element or attribute from the namespace-specified package in the demand package registry, creating it, and the package, if necessary.
 EStructuralFeature demandFeature(java.lang.String namespace, java.lang.String name, boolean isElement, boolean isReference)
          Returns a feature corresponding to a global element or attribute from the namespace-specified package in the demand package registry, creating it, and the package, if necessary.
 EPackage demandPackage(java.lang.String namespace)
          Returns a package from the demand package registry, creating it (with a document root class) if necessary.
 EClassifier demandType(java.lang.String namespace, java.lang.String name)
          Returns a class from the namespace-specified package in the demand package registry, demand creating it, and the package, if necessary.
 EStructuralFeature getAffiliation(EClass eClass, EStructuralFeature eStructuralFeature)
          Returns a structural feature within the given class that is or is associated with the given structural feature.
 EStructuralFeature getAffiliation(EStructuralFeature eStructuralFeature)
          Returns the substitution group affiliation for the given structural feature, that is, the feature corresponding to the head element of the substitution group to which the element corresponding to the given feature belongs.
 java.util.List<EStructuralFeature> getAllAttributes(EClass eClass)
          Returns all the structural features of the given class, and its super classes, corresponding to XML attributes and attribute wildcards.
 java.util.List<EStructuralFeature> getAllElements(EClass eClass)
          Returns all the structural features of the given class, and its super classes, corresponding to elements, element wildards, and model groups.
 EStructuralFeature getAttribute(EClass eClass, java.lang.String namespace, java.lang.String name)
          Returns a structural feature within a class, corresponding to a local attribute with the given namespace and name, or, failing that, a document root feature corresponding to a global attribute with the given namespace and name that is affiliated with a feature in the class.
 EStructuralFeature getAttribute(java.lang.String namespace, java.lang.String name)
          Returns the structural feature with the given XML name that corresponds to a global attribute within the package with the given namespace.
 java.util.List<EStructuralFeature> getAttributes(EClass eClass)
          Returns the structural features of the given class corresponding to XML attributes and attribute wildcards.
 EStructuralFeature getAttributeWildcardAffiliation(EClass eClass, java.lang.String namespace, java.lang.String name)
          Returns a wildcard feature in the given class that allows allows attribute values from the given namespace.
 EDataType getBaseType(EDataType eDataType)
          If a data type corresponds to simple type that derives from another by restriction, returns the data type corresponding to the base type.
 int getContentKind(EClass eClass)
          Returns the kind of XML content of the type corresponding to the given class.
 int getDerivationKind(EDataType eDataType)
          Returns the derivation kind of the simple type corresponding to the given data type.
 EClass getDocumentRoot(EPackage ePackage)
          Returns the class corresponding to the document root in the given package.
 EStructuralFeature getElement(EClass eClass, java.lang.String namespace, java.lang.String name)
          Returns a structural feature within a class, corresponding to a local element with the given namespace and name, or, failing that, a document root feature corresponding to a global element with the given namespace and name that is affiliated with a feature in the class.
 EStructuralFeature getElement(java.lang.String namespace, java.lang.String name)
          Returns the structural feature with the given XML name that corresponds to a global element within the package with the given namespace.
 java.util.List<EStructuralFeature> getElements(EClass eClass)
          Returns the structural features of the given class corresponding to elements, element wildcards, and model groups.
 EStructuralFeature getElementWildcardAffiliation(EClass eClass, java.lang.String namespace, java.lang.String name)
          Returns a wildcard feature in the given class that allows allows element values from the given namespace.
 java.util.List<java.lang.String> getEnumerationFacet(EDataType eDataType)
          Returns the enumeration constraint on the given data type.
 int getFeatureKind(EStructuralFeature eStructuralFeature)
          Returns the kind of XML structure that should be used to represent the given structural feature.
 int getFractionDigitsFacet(EDataType eDataType)
          Returns the fraction digits constraint on the given data type.
 EStructuralFeature getGroup(EStructuralFeature eStructuralFeature)
          Returns the feature respresenting the model group or subtitution group head feature to which the implementation of the given feature is delegated.
 EDataType getItemType(EDataType eDataType)
          If a data type corresponds to a list type, returns the data type corresponding to its item type.
 int getLengthFacet(EDataType eDataType)
          Returns the length constraint on the given data type.
 java.lang.String getMaxExclusiveFacet(EDataType eDataType)
          Returns the maximum (exclusive) constraint on the given data type.
 java.lang.String getMaxInclusiveFacet(EDataType eDataType)
          Returns the maximum (inclusive) constraint on the given data type.
 int getMaxLengthFacet(EDataType eDataType)
          Returns the maximum length constraint on the given data type.
 java.util.List<EDataType> getMemberTypes(EDataType eDataType)
          If a data type corresponds to a union type, returns the data types corresponding to its member types.
 java.lang.String getMinExclusiveFacet(EDataType eDataType)
          Returns the minimum (exclusive) constraint on the given data type.
 java.lang.String getMinInclusiveFacet(EDataType eDataType)
          Returns the minimum (inclusive) constraint on the given data type.
 int getMinLengthFacet(EDataType eDataType)
          Returns the minumum length constraint on the given data type.
 EAttribute getMixedFeature(EClass eClass)
          If the given class represents mixed content, returns the wildcard element feature used to store its content.
 java.lang.String getName(EClassifier eClassifier)
          Returns the XML name for a classifier.
 java.lang.String getName(EStructuralFeature eStructuralFeature)
          Returns the XML name for a structural feature.
 java.lang.String getNamespace(EClassifier eClassifier)
          Returns the namespace to use for instances of the given classifier, the same namespace as for the package that contains it.
 java.lang.String getNamespace(EPackage ePackage)
          Returns the namespace to use for model instance serializations of the specified package.
 java.lang.String getNamespace(EStructuralFeature eStructuralFeature)
          Returns the namespace associated with the specified structural feature.
 EPackage getPackage(java.lang.String namespace)
          Retrieves the package with the specified namespace URI from the package registry associated with this instance.
 java.util.List<java.lang.String> getPatternFacet(EDataType eDataType)
          Returns the pattern constraint on the given data type.
 int getProcessingKind(EStructuralFeature eStructuralFeature)
          Returns the kind of contents processing to be used for a structural feature corresponding to an any wildcard.
 EStructuralFeature getSimpleFeature(EClass eClass)
          If the given class represents simple content, returns the simple feature used to store its content.
 int getTotalDigitsFacet(EDataType eDataType)
          Returns the total digits constraint on the given data type.
 EClassifier getType(EPackage ePackage, java.lang.String name)
          Returns the classifier with the given XML name within the given package.
 EClassifier getType(java.lang.String namespace, java.lang.String name)
          Returns the classifier with the given XML name within the package with the given namespace.
 int getWhiteSpaceFacet(EDataType eDataType)
          Returns the white space constraint on the given data type.
 java.util.List<java.lang.String> getWildcards(EStructuralFeature eStructuralFeature)
          Returns the allowable namespace patterns for a structural feature corresponding to an any or anyAttribute wildcard.
 EReference getXMLNSPrefixMapFeature(EClass eClass)
          If the given class has mixed content type, returns the "xmlns:prefix" feature, which is used to store namespace prefix-to-URI mappings.
 EReference getXSISchemaLocationMapFeature(EClass eClass)
          If the given class has mixed content type, returns the "xsi:schemaLocation" feature, which is used to store namespace URI-schema location pairs.
 boolean isAnonymous(EClassifier eClassifier)
          Returns whether the given classifier's XML name contains "_._", which is used to indicate an anonymous type declaration.
 boolean isDocumentRoot(EClass eClass)
          Returns whether the given class is a document root, i.e., whether it has an empty string as its XML Name.
 boolean isQualified(EPackage ePackage)
          Returns whether model instance serializations of the specified package should use namespace qualification.
 boolean matches(java.util.List<java.lang.String> wildcards, java.lang.String namespace)
          Tests whether any of a list of wildcards matches a given namespace.
 boolean matches(java.lang.String wildcard, java.lang.String namespace)
          Tests whether a wildcard matches a given namespace.
 void putPackage(java.lang.String namespace, EPackage ePackage)
          Adds the package to the package registry associated with this instance, keyed by the given namespace URI.
 void setAffiliation(EStructuralFeature eStructuralFeature, EStructuralFeature affiliation)
          Sets the substitution group affiliation for the given structural feature.
 void setBaseType(EDataType eDataType, EDataType baseType)
          Sets the base type for a data type, indicating that the data type corresponds to a simple type that derives from another by restriction.
 void setContentKind(EClass eClass, int kind)
          Sets the kind of XML content of the type corresponding to the given class.
 void setDocumentRoot(EClass eClass)
          Sets the specified class to be a document root.
 void setEnumerationFacet(EDataType eDataType, java.util.List<java.lang.String> literals)
          Sets the enumeration constraint on the given data type.
 void setFeatureKind(EStructuralFeature eStructuralFeature, int kind)
          Sets the kind of XML structure that should be used to represent the given structural feature.
 void setFractionDigitsFacet(EDataType eDataType, int digits)
          Sets the fraction digits constraint on the given data type.
 void setGroup(EStructuralFeature eStructuralFeature, EStructuralFeature group)
          Sets a group or substitution group head feature, to which the implementation of the given feature should be delegated.
 void setItemType(EDataType eDataType, EDataType itemType)
          Sets the item type for a data type, indicating that the data type corresponds to a list type.
 void setLengthFacet(EDataType eDataType, int length)
          Sets the length constraint on the given data type.
 void setMaxExclusiveFacet(EDataType eDataType, java.lang.String literal)
          Sets the maximum (exclusive) constraint on the given data type.
 void setMaxInclusiveFacet(EDataType eDataType, java.lang.String literal)
          Sets the maximum (inclusive) constraint on the given data type.
 void setMaxLengthFacet(EDataType eDataType, int length)
          Sets the maximum length constraint on the given data type.
 void setMemberTypes(EDataType eDataType, java.util.List<EDataType> memberTypes)
          Sets the member types for a data type, indicating that the data type corresponds to a union type.
 void setMinExclusiveFacet(EDataType eDataType, java.lang.String literal)
          Sets the minimum (exclusive) constraint on the given data type.
 void setMinInclusiveFacet(EDataType eDataType, java.lang.String literal)
          Sets the minimum (inclusive) constraint on the given data type.
 void setMinLengthFacet(EDataType eDataType, int length)
          Sets the minimum length constraint on the given data type.
 void setName(EClassifier eClassifier, java.lang.String name)
          Sets the XML name for a classifier.
 void setName(EStructuralFeature eStructuralFeature, java.lang.String name)
          Set the XML name for a structural feature.
 void setNamespace(EStructuralFeature eStructuralFeature, java.lang.String namespace)
          Sets the namespace associated with the specified structural feature.
 void setPatternFacet(EDataType eDataType, java.util.List<java.lang.String> pattern)
          Sets the pattern constraint on the given data type.
 void setProcessingKind(EStructuralFeature eStructuralFeature, int processingKind)
          Sets the kind of contents processing to be used for a structural feature corresponding to an any wildcard.
 void setQualified(EPackage ePackage, boolean isQualified)
          Sets whether model instance serializations of the specified package should use namespace qualification.
 void setTotalDigitsFacet(EDataType eDataType, int digits)
          Sets the total digits constraint on the given data type.
 void setWhiteSpaceFacet(EDataType eDataType, int whiteSpace)
          Sets the white space constraint on the given data type.
 void setWildcards(EStructuralFeature eStructuralFeature, java.util.List<java.lang.String> wildcards)
          Sets the allowable namespace patterns for a structural feature corresponding to an any or anyAttribute wildcard.
 

Field Detail

ANNOTATION_URI

static final java.lang.String ANNOTATION_URI
The URI used as the annotation source: "http:///org/eclipse/emf/ecore/util/ExtendedMetaData".

See Also:
Constant Field Values

XMLNS_URI

static final java.lang.String XMLNS_URI
The namespace URI for XML namespaces: "http://www.w3.org/2000/xmlns/".

See Also:
Constant Field Values

XML_URI

static final java.lang.String XML_URI
The XML namespace URI: "http://www.w3.org/XML/1998/namespace".

See Also:
Constant Field Values

XSI_URI

static final java.lang.String XSI_URI
The XML Schema instance namespace URI: "http://www.w3.org/2001/XMLSchema-instance".

See Also:
Constant Field Values

XML_SCHEMA_URI

static final java.lang.String XML_SCHEMA_URI
The XML Schema namespace URI: "http://www.w3.org/2001/XMLSchema".

See Also:
Constant Field Values

XMI_URI

static final java.lang.String XMI_URI
The XMI namespace URI: "http://www.omg.org/XMI".

See Also:
Constant Field Values

XMLNS_PREFIX

static final java.lang.String XMLNS_PREFIX
The prefix reserved for XML namespaces: "xmlns".

See Also:
Constant Field Values

XSI_PREFIX

static final java.lang.String XSI_PREFIX
The prefix used for the XML Schema instance namespace.

See Also:
Constant Field Values

UNSPECIFIED_FEATURE

static final int UNSPECIFIED_FEATURE
The feature kind ID for an unspecified kind.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

SIMPLE_FEATURE

static final int SIMPLE_FEATURE
The feature kind ID representing a simple value.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

ATTRIBUTE_FEATURE

static final int ATTRIBUTE_FEATURE
The feature kind ID representing an attribute.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

ATTRIBUTE_WILDCARD_FEATURE

static final int ATTRIBUTE_WILDCARD_FEATURE
The feature kind ID representing an anyAttribute wildcard.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

ELEMENT_FEATURE

static final int ELEMENT_FEATURE
The feature kind ID representing an element.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

ELEMENT_WILDCARD_FEATURE

static final int ELEMENT_WILDCARD_FEATURE
The feature kind ID representing an any element wildcard.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

GROUP_FEATURE

static final int GROUP_FEATURE
The feature kind ID representing a repeating model group.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

FEATURE_KINDS

static final java.lang.String[] FEATURE_KINDS
The strings used to represent the various feature kinds in extended metadata annotations, indexed by kind ID.

See Also:
getFeatureKind(org.eclipse.emf.ecore.EStructuralFeature), setFeatureKind(org.eclipse.emf.ecore.EStructuralFeature, int)

UNSPECIFIED_CONTENT

static final int UNSPECIFIED_CONTENT
The content kind ID for an unspecified kind.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int), Constant Field Values

EMPTY_CONTENT

static final int EMPTY_CONTENT
The content kind ID specifying empty content.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int), Constant Field Values

SIMPLE_CONTENT

static final int SIMPLE_CONTENT
The content kind ID specifying simple content.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int), Constant Field Values

MIXED_CONTENT

static final int MIXED_CONTENT
The content kind ID specifying mixed content.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int), Constant Field Values

ELEMENT_ONLY_CONTENT

static final int ELEMENT_ONLY_CONTENT
The content kind ID specifying element content.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int), Constant Field Values

CONTENT_KINDS

static final java.lang.String[] CONTENT_KINDS
The strings used to represent the various content kinds in extended metadata annotations, indexed by kind ID.

See Also:
getContentKind(org.eclipse.emf.ecore.EClass), setContentKind(org.eclipse.emf.ecore.EClass, int)

UNSPECIFIED_DERIVATION

static final int UNSPECIFIED_DERIVATION
The derivation kind ID for an unspecified derivation.

See Also:
getDerivationKind(org.eclipse.emf.ecore.EDataType), Constant Field Values

RESTRICTION_DERIVATION

static final int RESTRICTION_DERIVATION
The derivation kind ID for restriction.

See Also:
getDerivationKind(org.eclipse.emf.ecore.EDataType), Constant Field Values

LIST_DERIVATION

static final int LIST_DERIVATION
The derivation kind ID for list.

See Also:
getDerivationKind(org.eclipse.emf.ecore.EDataType), Constant Field Values

UNION_DERIVATION

static final int UNION_DERIVATION
The derivation kind ID for union.

See Also:
getDerivationKind(org.eclipse.emf.ecore.EDataType), Constant Field Values

DERIVATION_KINDS

static final java.lang.String[] DERIVATION_KINDS
The strings used to represent the various derivation kinds , indexed by kind ID.

See Also:
getDerivationKind(org.eclipse.emf.ecore.EDataType)

UNSPECIFIED_PROCESSING

static final int UNSPECIFIED_PROCESSING
The processing kind ID for unspecified processing.

See Also:
getProcessingKind(org.eclipse.emf.ecore.EStructuralFeature), setProcessingKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

STRICT_PROCESSING

static final int STRICT_PROCESSING
The processing kind ID for strict processing. This requires that metadata be available in order to parse content.

See Also:
getProcessingKind(org.eclipse.emf.ecore.EStructuralFeature), setProcessingKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

LAX_PROCESSING

static final int LAX_PROCESSING
The processing kind ID for lax processing.

See Also:
getProcessingKind(org.eclipse.emf.ecore.EStructuralFeature), setProcessingKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

SKIP_PROCESSING

static final int SKIP_PROCESSING
The processing kind ID for skip processing.

See Also:
getProcessingKind(org.eclipse.emf.ecore.EStructuralFeature), setProcessingKind(org.eclipse.emf.ecore.EStructuralFeature, int), Constant Field Values

PROCESSING_KINDS

static final java.lang.String[] PROCESSING_KINDS
The strings used to represent the various processing kinds in extended metadata annotations, indexed by kind ID.

See Also:
getProcessingKind(org.eclipse.emf.ecore.EStructuralFeature), setProcessingKind(org.eclipse.emf.ecore.EStructuralFeature, int)

UNSPECIFIED_WHITE_SPACE

static final int UNSPECIFIED_WHITE_SPACE
The white space kind ID for an unspecified kind.

See Also:
getWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType), setWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType, int), Constant Field Values

PRESERVE_WHITE_SPACE

static final int PRESERVE_WHITE_SPACE
The white space kind ID for preserve.

See Also:
getWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType), setWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType, int), Constant Field Values

REPLACE_WHITE_SPACE

static final int REPLACE_WHITE_SPACE
The white space kind ID for replace (each white space character by a space).

See Also:
getWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType), setWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType, int), Constant Field Values

COLLAPSE_WHITE_SPACE

static final int COLLAPSE_WHITE_SPACE
The white space kind ID for collapse (all contiguous white space characters to a single space).

See Also:
getWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType), setWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType, int), Constant Field Values

WHITE_SPACE_KINDS

static final java.lang.String[] WHITE_SPACE_KINDS
The strings used to represent the various white space kinds in extended metadata annotations, indexed by kind ID.

See Also:
getWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType), setWhiteSpaceFacet(org.eclipse.emf.ecore.EDataType, int)

INSTANCE

static final ExtendedMetaData INSTANCE
The default ExtendedMetaData instance, which obtains packages from the global package registry, EPackage.Registry.INSTANCE.

Method Detail

getPackage

EPackage getPackage(java.lang.String namespace)
Retrieves the package with the specified namespace URI from the package registry associated with this instance.


putPackage

void putPackage(java.lang.String namespace,
                EPackage ePackage)
Adds the package to the package registry associated with this instance, keyed by the given namespace URI.


getDocumentRoot

EClass getDocumentRoot(EPackage ePackage)
Returns the class corresponding to the document root in the given package. The document root class holds attributes and references corresponding to attributes and elements declared globally in a schema. It is identified by its XML name, an empty string.


setDocumentRoot

void setDocumentRoot(EClass eClass)
Sets the specified class to be a document root. The document root class holds attributes and references corresponding to attributes and elements declared globally in a schema. Its XML name is set to an empty string, and its content kind to mixed content.


isDocumentRoot

boolean isDocumentRoot(EClass eClass)
Returns whether the given class is a document root, i.e., whether it has an empty string as its XML Name.

Since:
2.4

getXMLNSPrefixMapFeature

EReference getXMLNSPrefixMapFeature(EClass eClass)
If the given class has mixed content type, returns the "xmlns:prefix" feature, which is used to store namespace prefix-to-URI mappings.


getXSISchemaLocationMapFeature

EReference getXSISchemaLocationMapFeature(EClass eClass)
If the given class has mixed content type, returns the "xsi:schemaLocation" feature, which is used to store namespace URI-schema location pairs.


isQualified

boolean isQualified(EPackage ePackage)
Returns whether model instance serializations of the specified package should use namespace qualification.

details key: "qualified"


setQualified

void setQualified(EPackage ePackage,
                  boolean isQualified)
Sets whether model instance serializations of the specified package should use namespace qualification.

details key: "qualified"


getNamespace

java.lang.String getNamespace(EPackage ePackage)
Returns the namespace to use for model instance serializations of the specified package. If namespace qualification is being used, this is the package's namespace URI; if not, it is simply null.

details key: "namespace"


getNamespace

java.lang.String getNamespace(EClassifier eClassifier)
Returns the namespace to use for instances of the given classifier, the same namespace as for the package that contains it.


getNamespace

java.lang.String getNamespace(EStructuralFeature eStructuralFeature)
Returns the namespace associated with the specified structural feature. This allows features to be included in a class that correspond to elements and attributes defined in another schema (i.e. an attribute or element reference).


setNamespace

void setNamespace(EStructuralFeature eStructuralFeature,
                  java.lang.String namespace)
Sets the namespace associated with the specified structural feature. This allows features to be included in a class that correspond to elements and attributes defined in another schema (i.e. an attribute or element reference).


getName

java.lang.String getName(EClassifier eClassifier)
Returns the XML name for a classifier. This is the original name specified for the type in the schema, which may be mapped into a valid and conventional Java class name for the Ecore class.

details key: "name"


setName

void setName(EClassifier eClassifier,
             java.lang.String name)
Sets the XML name for a classifier. This should be the original name specified for the type in the schema, which may be mapped into a valid and conventional Java class name for the Ecore class.

details key: "name"


isAnonymous

boolean isAnonymous(EClassifier eClassifier)
Returns whether the given classifier's XML name contains "_._", which is used to indicate an anonymous type declaration.


getName

java.lang.String getName(EStructuralFeature eStructuralFeature)
Returns the XML name for a structural feature. This is the original name specified for the element or attribute in the schema, which may be mapped into a valid and conventional Java field name for the Ecore structural feature. This is also the name which should be used for the element or attribute in instance documents.

details key: "name"


setName

void setName(EStructuralFeature eStructuralFeature,
             java.lang.String name)
Set the XML name for a structural feature. This should be the original name specified for the element or attribute in the schema, which may be mapped into a valid and conventional Java field name for the Ecore structural feature. This is also the name which should be used for the element or attribute in instance documents.

details key: "name"


getType

EClassifier getType(java.lang.String namespace,
                    java.lang.String name)
Returns the classifier with the given XML name within the package with the given namespace.


getAttribute

EStructuralFeature getAttribute(java.lang.String namespace,
                                java.lang.String name)
Returns the structural feature with the given XML name that corresponds to a global attribute within the package with the given namespace.


getElement

EStructuralFeature getElement(java.lang.String namespace,
                              java.lang.String name)
Returns the structural feature with the given XML name that corresponds to a global element within the package with the given namespace.


getType

EClassifier getType(EPackage ePackage,
                    java.lang.String name)
Returns the classifier with the given XML name within the given package.


getAttribute

EStructuralFeature getAttribute(EClass eClass,
                                java.lang.String namespace,
                                java.lang.String name)
Returns a structural feature within a class, corresponding to a local attribute with the given namespace and name, or, failing that, a document root feature corresponding to a global attribute with the given namespace and name that is affiliated with a feature in the class.


getElement

EStructuralFeature getElement(EClass eClass,
                              java.lang.String namespace,
                              java.lang.String name)
Returns a structural feature within a class, corresponding to a local element with the given namespace and name, or, failing that, a document root feature corresponding to a global element with the given namespace and name that is affiliated with a feature in the class.


getSimpleFeature

EStructuralFeature getSimpleFeature(EClass eClass)
If the given class represents simple content, returns the simple feature used to store its content.


getMixedFeature

EAttribute getMixedFeature(EClass eClass)
If the given class represents mixed content, returns the wildcard element feature used to store its content.


getFeatureKind

int getFeatureKind(EStructuralFeature eStructuralFeature)
Returns the kind of XML structure that should be used to represent the given structural feature.

details key: "kind"

See Also:
UNSPECIFIED_FEATURE, SIMPLE_FEATURE, ATTRIBUTE_FEATURE, ATTRIBUTE_WILDCARD_FEATURE, ELEMENT_FEATURE, ELEMENT_WILDCARD_FEATURE, GROUP_FEATURE

setFeatureKind

void setFeatureKind(EStructuralFeature eStructuralFeature,
                    int kind)
Sets the kind of XML structure that should be used to represent the given structural feature.

details key: "kind"

See Also:
UNSPECIFIED_FEATURE, SIMPLE_FEATURE, ATTRIBUTE_FEATURE, ATTRIBUTE_WILDCARD_FEATURE, ELEMENT_FEATURE, ELEMENT_WILDCARD_FEATURE, GROUP_FEATURE

getContentKind

int getContentKind(EClass eClass)
Returns the kind of XML content of the type corresponding to the given class.

details key: "kind"

See Also:
UNSPECIFIED_CONTENT, EMPTY_CONTENT, SIMPLE_CONTENT, MIXED_CONTENT, ELEMENT_ONLY_CONTENT

setContentKind

void setContentKind(EClass eClass,
                    int kind)
Sets the kind of XML content of the type corresponding to the given class.

details key: "kind"

See Also:
UNSPECIFIED_CONTENT, EMPTY_CONTENT, SIMPLE_CONTENT, MIXED_CONTENT, ELEMENT_ONLY_CONTENT

getDerivationKind

int getDerivationKind(EDataType eDataType)
Returns the derivation kind of the simple type corresponding to the given data type.

See Also:
UNSPECIFIED_DERIVATION, RESTRICTION_DERIVATION, LIST_DERIVATION, UNION_DERIVATION

getBaseType

EDataType getBaseType(EDataType eDataType)
If a data type corresponds to simple type that derives from another by restriction, returns the data type corresponding to the base type.

details key: "baseType"


setBaseType

void setBaseType(EDataType eDataType,
                 EDataType baseType)
Sets the base type for a data type, indicating that the data type corresponds to a simple type that derives from another by restriction.

details key: "baseType"


getItemType

EDataType getItemType(EDataType eDataType)
If a data type corresponds to a list type, returns the data type corresponding to its item type.

details key: "itemType"


setItemType

void setItemType(EDataType eDataType,
                 EDataType itemType)
Sets the item type for a data type, indicating that the data type corresponds to a list type.

details key: "itemType"


getMemberTypes

java.util.List<EDataType> getMemberTypes(EDataType eDataType)
If a data type corresponds to a union type, returns the data types corresponding to its member types.

details key: "memberTypes"


setMemberTypes

void setMemberTypes(EDataType eDataType,
                    java.util.List<EDataType> memberTypes)
Sets the member types for a data type, indicating that the data type corresponds to a union type.

details key: "memberTypes"


getAllAttributes

java.util.List<EStructuralFeature> getAllAttributes(EClass eClass)
Returns all the structural features of the given class, and its super classes, corresponding to XML attributes and attribute wildcards.


getAllElements

java.util.List<EStructuralFeature> getAllElements(EClass eClass)
Returns all the structural features of the given class, and its super classes, corresponding to elements, element wildards, and model groups.


getAttributes

java.util.List<EStructuralFeature> getAttributes(EClass eClass)
Returns the structural features of the given class corresponding to XML attributes and attribute wildcards.


getElements

java.util.List<EStructuralFeature> getElements(EClass eClass)
Returns the structural features of the given class corresponding to elements, element wildcards, and model groups.


matches

boolean matches(java.util.List<java.lang.String> wildcards,
                java.lang.String namespace)
Tests whether any of a list of wildcards matches a given namespace.


matches

boolean matches(java.lang.String wildcard,
                java.lang.String namespace)
Tests whether a wildcard matches a given namespace.


getWildcards

java.util.List<java.lang.String> getWildcards(EStructuralFeature eStructuralFeature)
Returns the allowable namespace patterns for a structural feature corresponding to an any or anyAttribute wildcard.

details key: "wildcards"


setWildcards

void setWildcards(EStructuralFeature eStructuralFeature,
                  java.util.List<java.lang.String> wildcards)
Sets the allowable namespace patterns for a structural feature corresponding to an any or anyAttribute wildcard.

details key: "wildcards"


getProcessingKind

int getProcessingKind(EStructuralFeature eStructuralFeature)
Returns the kind of contents processing to be used for a structural feature corresponding to an any wildcard.

details key: "processing"

See Also:
UNSPECIFIED_PROCESSING, STRICT_PROCESSING, LAX_PROCESSING, SKIP_PROCESSING

setProcessingKind

void setProcessingKind(EStructuralFeature eStructuralFeature,
                       int processingKind)
Sets the kind of contents processing to be used for a structural feature corresponding to an any wildcard.

details key: "processing"

See Also:
UNSPECIFIED_PROCESSING, STRICT_PROCESSING, LAX_PROCESSING, SKIP_PROCESSING

getAffiliation

EStructuralFeature getAffiliation(EStructuralFeature eStructuralFeature)
Returns the substitution group affiliation for the given structural feature, that is, the feature corresponding to the head element of the substitution group to which the element corresponding to the given feature belongs.

details key: "affiliation"


setAffiliation

void setAffiliation(EStructuralFeature eStructuralFeature,
                    EStructuralFeature affiliation)
Sets the substitution group affiliation for the given structural feature. Both feature and its affiliation feature should be in a document root class, such that they correspond to global structural feature declarations.

details key: "affiliation"


getGroup

EStructuralFeature getGroup(EStructuralFeature eStructuralFeature)
Returns the feature respresenting the model group or subtitution group head feature to which the implementation of the given feature is delegated.

details key: "group"


setGroup

void setGroup(EStructuralFeature eStructuralFeature,
              EStructuralFeature group)
Sets a group or substitution group head feature, to which the implementation of the given feature should be delegated.

details key: "group"


getAffiliation

EStructuralFeature getAffiliation(EClass eClass,
                                  EStructuralFeature eStructuralFeature)
Returns a structural feature within the given class that is or is associated with the given structural feature. If the feature corresponds to an attribute, it will return the given feature itself, a feature matching the given one in the document root (corresponding to a reference to the global attribute), or a wildcard attribute feature appropriate for the namespace of the given feature. If it corresponds to an element, it will return the feature itself, a feature matching it in the document root or its affiliations (corresponding to a reference to the global element, or its head, or its head's head, etc.), the mixed content feature for an XML type (text, CDATA, or comment), or a wildcard element feature appropriate for the namespace of the given feature.


getAttributeWildcardAffiliation

EStructuralFeature getAttributeWildcardAffiliation(EClass eClass,
                                                   java.lang.String namespace,
                                                   java.lang.String name)
Returns a wildcard feature in the given class that allows allows attribute values from the given namespace.


getElementWildcardAffiliation

EStructuralFeature getElementWildcardAffiliation(EClass eClass,
                                                 java.lang.String namespace,
                                                 java.lang.String name)
Returns a wildcard feature in the given class that allows allows element values from the given namespace.


getWhiteSpaceFacet

int getWhiteSpaceFacet(EDataType eDataType)
Returns the white space constraint on the given data type.

details key: "whiteSpace"

See Also:
UNSPECIFIED_WHITE_SPACE, PRESERVE_WHITE_SPACE, REPLACE_WHITE_SPACE, COLLAPSE_WHITE_SPACE

setWhiteSpaceFacet

void setWhiteSpaceFacet(EDataType eDataType,
                        int whiteSpace)
Sets the white space constraint on the given data type.

details key: "whiteSpace"

See Also:
UNSPECIFIED_WHITE_SPACE, PRESERVE_WHITE_SPACE, REPLACE_WHITE_SPACE, COLLAPSE_WHITE_SPACE

getEnumerationFacet

java.util.List<java.lang.String> getEnumerationFacet(EDataType eDataType)
Returns the enumeration constraint on the given data type.

details key: "enumeration"


setEnumerationFacet

void setEnumerationFacet(EDataType eDataType,
                         java.util.List<java.lang.String> literals)
Sets the enumeration constraint on the given data type.

details key: "enumeration"


getPatternFacet

java.util.List<java.lang.String> getPatternFacet(EDataType eDataType)
Returns the pattern constraint on the given data type.

details key: "pattern"


setPatternFacet

void setPatternFacet(EDataType eDataType,
                     java.util.List<java.lang.String> pattern)
Sets the pattern constraint on the given data type.

details key: "pattern"


getTotalDigitsFacet

int getTotalDigitsFacet(EDataType eDataType)
Returns the total digits constraint on the given data type.

details key: "totalDigits"


setTotalDigitsFacet

void setTotalDigitsFacet(EDataType eDataType,
                         int digits)
Sets the total digits constraint on the given data type.

details key: "totalDigits"


getFractionDigitsFacet

int getFractionDigitsFacet(EDataType eDataType)
Returns the fraction digits constraint on the given data type.

details key: "fractionDigits"


setFractionDigitsFacet

void setFractionDigitsFacet(EDataType eDataType,
                            int digits)
Sets the fraction digits constraint on the given data type.

details key: "fractionDigits"


getLengthFacet

int getLengthFacet(EDataType eDataType)
Returns the length constraint on the given data type.

details key: "length"


setLengthFacet

void setLengthFacet(EDataType eDataType,
                    int length)
Sets the length constraint on the given data type.

details key: "length"


getMinLengthFacet

int getMinLengthFacet(EDataType eDataType)
Returns the minumum length constraint on the given data type.

details key: "minLength"


setMinLengthFacet

void setMinLengthFacet(EDataType eDataType,
                       int length)
Sets the minimum length constraint on the given data type.

details key: "minLength"


getMaxLengthFacet

int getMaxLengthFacet(EDataType eDataType)
Returns the maximum length constraint on the given data type.

details key: "maxLength"


setMaxLengthFacet

void setMaxLengthFacet(EDataType eDataType,
                       int length)
Sets the maximum length constraint on the given data type.

details key: "maxLength"


getMinExclusiveFacet

java.lang.String getMinExclusiveFacet(EDataType eDataType)
Returns the minimum (exclusive) constraint on the given data type.

details key: "minExclusive"


setMinExclusiveFacet

void setMinExclusiveFacet(EDataType eDataType,
                          java.lang.String literal)
Sets the minimum (exclusive) constraint on the given data type.

details key: "minExclusive"


getMaxExclusiveFacet

java.lang.String getMaxExclusiveFacet(EDataType eDataType)
Returns the maximum (exclusive) constraint on the given data type.

details key: "maxExclusive"


setMaxExclusiveFacet

void setMaxExclusiveFacet(EDataType eDataType,
                          java.lang.String literal)
Sets the maximum (exclusive) constraint on the given data type.

details key: "maxExclusive"


getMinInclusiveFacet

java.lang.String getMinInclusiveFacet(EDataType eDataType)
Returns the minimum (inclusive) constraint on the given data type.

details key: "minInclusive"


setMinInclusiveFacet

void setMinInclusiveFacet(EDataType eDataType,
                          java.lang.String literal)
Sets the minimum (inclusive) constraint on the given data type.

details key: "minInclusive"


getMaxInclusiveFacet

java.lang.String getMaxInclusiveFacet(EDataType eDataType)
Returns the maximum (inclusive) constraint on the given data type.

details key: "maxInclusive"


setMaxInclusiveFacet

void setMaxInclusiveFacet(EDataType eDataType,
                          java.lang.String literal)
Sets the maximum (inclusive) constraint on the given data type.

details key: "maxInclusive"


demandPackage

EPackage demandPackage(java.lang.String namespace)
Returns a package from the demand package registry, creating it (with a document root class) if necessary.


demandType

EClassifier demandType(java.lang.String namespace,
                       java.lang.String name)
Returns a class from the namespace-specified package in the demand package registry, demand creating it, and the package, if necessary.


demandFeature

EStructuralFeature demandFeature(java.lang.String namespace,
                                 java.lang.String name,
                                 boolean isElement)
Returns a feature corresponding to a global element or attribute from the namespace-specified package in the demand package registry, creating it, and the package, if necessary. Elements are created as references and attributes as attributes.


demandFeature

EStructuralFeature demandFeature(java.lang.String namespace,
                                 java.lang.String name,
                                 boolean isElement,
                                 boolean isReference)
Returns a feature corresponding to a global element or attribute from the namespace-specified package in the demand package registry, creating it, and the package, if necessary.


demandedPackages

java.util.Collection<EPackage> demandedPackages()
Returns the instance's collection of demand-created packages.


Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.