org.eclipse.xsd.impl
Class XSDTypeDefinitionImpl
java.lang.Object
|
+--org.eclipse.emf.common.notify.impl.NotifierImpl
|
+--org.eclipse.emf.ecore.impl.EObjectImpl
|
+--org.eclipse.xsd.impl.XSDConcreteComponentImpl
|
+--org.eclipse.xsd.impl.XSDComponentImpl
|
+--org.eclipse.xsd.impl.XSDNamedComponentImpl
|
+--org.eclipse.xsd.impl.XSDRedefinableComponentImpl
|
+--org.eclipse.xsd.impl.XSDTypeDefinitionImpl
- All Implemented Interfaces:
- org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject, org.eclipse.emf.common.notify.Notifier, XSDComponent, XSDConcreteComponent, XSDNamedComponent, XSDRedefinableComponent, XSDRedefineContent, XSDSchemaContent, XSDTypeDefinition
- Direct Known Subclasses:
- XSDComplexTypeDefinitionImpl, XSDSimpleTypeDefinitionImpl
- public abstract class XSDTypeDefinitionImpl
- extends XSDRedefinableComponentImpl
- implements XSDTypeDefinition
An implementation of the model object 'Type Definition'.
The following features are implemented:
Inner classes inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
org.eclipse.emf.ecore.impl.EObjectImpl.EPropertiesHolder |
Fields inherited from class org.eclipse.xsd.impl.XSDConcreteComponentImpl |
ANALYZED, ANALYZING, CIRCULAR, diagnostics, element, ELEMENT_EDEFAULT, ERROR, FATAL, INFORMATION, isReconciling, UNANALYZED, updatingDOM, WARNING, xsdContents |
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
eContainer, eContainerFeatureID, ELAST_EOBJECT_FLAG, eProperties |
Fields inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl |
eAdapters, EDELIVER, eFlags, ELAST_NOTIFIER_FLAG |
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject |
EOPPOSITE_FEATURE_BASE |
Method Summary |
protected boolean |
analyze()
|
org.eclipse.emf.common.notify.NotificationChain |
basicSetAnnotation(XSDAnnotation newAnnotation,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
org.eclipse.emf.common.notify.NotificationChain |
basicSetDerivationAnnotation(XSDAnnotation newDerivationAnnotation,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
static XSDTypeDefinition |
createTypeDefinition(org.w3c.dom.Node node)
|
java.lang.Object |
eGet(org.eclipse.emf.ecore.EStructuralFeature eFeature,
boolean resolve)
|
org.eclipse.emf.common.notify.NotificationChain |
eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
int featureID,
java.lang.Class baseClass,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
boolean |
eIsSet(org.eclipse.emf.ecore.EStructuralFeature eFeature)
|
void |
eSet(org.eclipse.emf.ecore.EStructuralFeature eFeature,
java.lang.Object newValue)
|
protected org.eclipse.emf.ecore.EClass |
eStaticClass()
|
void |
eUnset(org.eclipse.emf.ecore.EStructuralFeature eFeature)
|
XSDAnnotation |
getAnnotation()
|
org.eclipse.emf.common.util.EList |
getAnnotations()
|
XSDTypeDefinition |
getBadTypeDerivation(XSDTypeDefinition xsdTypeDefinition,
boolean extension,
boolean restriction)
Returns the first type between this and the given one, that derives from it's base in a way not permitted
as constrained by Type Derivation OK
Complex and
Simple. |
XSDTypeDefinition |
getBaseType()
Returns the value of the 'Base Type' reference. |
XSDParticle |
getComplexType()
|
XSDAnnotation |
getDerivationAnnotation()
|
static XSDTypeDefinition |
getLowestCommonAncestor(java.util.Collection xsdTypeDefinitions)
|
XSDTypeDefinition |
getRootType()
Returns the value of the 'Root Type' reference. |
XSDSimpleTypeDefinition |
getSimpleType()
Returns the value of the 'Simple Type' reference. |
protected void |
handleAnalysis()
|
boolean |
isCircular()
Returns the value of the 'Circular' attribute. |
protected void |
patch()
|
void |
setAnnotation(XSDAnnotation newAnnotation)
|
void |
setDerivationAnnotation(XSDAnnotation newDerivationAnnotation)
|
Methods inherited from class org.eclipse.xsd.impl.XSDNamedComponentImpl |
addToSortedList, adoptBy, changeAttribute, findInSortedList, getAliasName, getAliasURI, getName, getQName, getQName, getResolvedNamedComponent, getTargetNamespace, getURI, getURIReferenceLabel, hasNameAndTargetNamespace, hasSameNameAndTargetNamespace, hasURI, isNamedComponentReference, mergeToSortedList, patchTargetNamespaceAttribute, reconcileAttributes, reconcileNameAttribute, setName, setTargetNamespace, sortNamedComponents, toString |
Methods inherited from class org.eclipse.xsd.impl.XSDConcreteComponentImpl |
adoptContent, adoptDiagnostic, changeReference, checkAttributes, checkAttributeTypeConstraint, checkAttributeTypeConstraint, checkBuiltInTypeConstraint, checkComplexContent, checkComplexContent, checkElementComplexContent, checkSimpleTypeConstraint, clearDiagnostics, cloneConcreteComponent, cloneConcreteComponents, considerAllContainsForBestConcreteComponent, contains, createDiagnostic, createDiagnostic, createDiagnostic, createDiagnostic, createElement, createElement, createRequiredAttributeDiagnostic, createUnresolvedAttributeDeclaration, createUnresolvedAttributeGroupDefinition, createUnresolvedComplexTypeDefinition, createUnresolvedElementDeclaration, createUnresolvedIdentityConstraintDefinition, createUnresolvedModelGroupDefinition, createUnresolvedNotationDeclaration, createUnresolvedSimpleTypeDefinition, createUnresolvedTypeDefinition, elementAttributesChanged, elementChanged, elementContentsChanged, eNotificationRequired, eNotify, eObjectForURIFragmentSegment, eURIFragmentSegment, forceEngulf, forceEngulf, forceNiceInsertBefore, forceNiceRemoveChild, forceReplace, getAdoptionParentNode, getBestConcreteComponent, getComponentsWithApplicationInformation, getComponentsWithInformation, getComponentsWithUserInformation, getContainer, getContentNodes, getDiagnostics, getDiagnosticTarget, getElement, getRootContainer, getSchema, getXSDContents, getXSDFactory, getXSDPackage, handleAnnotationReconciliation, handleElementForAdopt, handleReconciliation, handleUnreconciledElement, isUpdatingDOM, moveContent, niceCreateNamespaceAttribute, niceInsertBefore, niceRemoveChild, niceSetAttribute, niceSetAttributeURIValue, orphanBy, orphanContent, orphanDiagnostic, printDFA, reconcile, reconcileContents, reportConstraintViolation, resolveAttributeDeclaration, resolveAttributeDeclaration, resolveAttributeDeclarationURI, resolveAttributeGroupDefinition, resolveAttributeGroupDefinition, resolveAttributeGroupDefinitionURI, resolveComplexTypeDefinition, resolveComplexTypeDefinition, resolveComplexTypeDefinitionURI, resolveElementDeclaration, resolveElementDeclaration, resolveElementDeclarationURI, resolveIdentityConstraintDefinition, resolveIdentityConstraintDefinition, resolveIdentityConstraintDefinitionURI, resolveModelGroupDefinition, resolveModelGroupDefinition, resolveModelGroupDefinitionURI, resolveNotationDeclaration, resolveNotationDeclaration, resolveNotationDeclarationURI, resolveSimpleTypeDefinition, resolveSimpleTypeDefinition, resolveSimpleTypeDefinitionURI, resolveTypeDefinition, resolveTypeDefinition, resolveTypeDefinitionURI, setElement, setElementGen, setListContentAndOrder, traverseToRootForAnalysis, traverseToRootForPatching, updateElement, updateElement, updatePrefix, validate |
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicSetContainer, eClass, eContainer, eContainerFeatureID, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicGet, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicIsSet, eDynamicSet, eDynamicUnset, eGet, eInternalResource, eInverseAdd, eIsProxy, eProperties, eProxyURI, eResource, eSetClass, eSetProxyURI, eSetResource, eSetting, eSettingIndex, eSettings |
Methods inherited from class org.eclipse.emf.common.notify.impl.NotifierImpl |
eAdapters, eDeliver, eSetDeliver |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.xsd.XSDNamedComponent |
getAliasName, getAliasURI, getName, getQName, getQName, getTargetNamespace, getURI, hasNameAndTargetNamespace, hasSameNameAndTargetNamespace, hasURI, setName, setTargetNamespace |
Methods inherited from interface org.eclipse.xsd.XSDConcreteComponent |
clearDiagnostics, cloneConcreteComponent, contains, elementAttributesChanged, elementChanged, elementContentsChanged, getComponentsWithApplicationInformation, getComponentsWithUserInformation, getContainer, getDiagnostics, getElement, getRootContainer, getSchema, resolveAttributeDeclaration, resolveAttributeDeclaration, resolveAttributeDeclarationURI, resolveAttributeGroupDefinition, resolveAttributeGroupDefinition, resolveAttributeGroupDefinitionURI, resolveComplexTypeDefinition, resolveComplexTypeDefinition, resolveComplexTypeDefinitionURI, resolveElementDeclaration, resolveElementDeclaration, resolveElementDeclarationURI, resolveIdentityConstraintDefinition, resolveIdentityConstraintDefinition, resolveIdentityConstraintDefinitionURI, resolveModelGroupDefinition, resolveModelGroupDefinition, resolveModelGroupDefinitionURI, resolveNotationDeclaration, resolveNotationDeclaration, resolveNotationDeclarationURI, resolveSimpleTypeDefinition, resolveSimpleTypeDefinition, resolveSimpleTypeDefinitionURI, resolveTypeDefinition, resolveTypeDefinition, resolveTypeDefinitionURI, setElement, updateElement, updateElement, validate |
Methods inherited from interface org.eclipse.emf.ecore.EObject |
eAllContents, eClass, eContainer, eContainmentFeature, eContents, eCrossReferences, eGet, eIsProxy, eResource |
Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
eAdapters, eDeliver, eNotify, eSetDeliver |
annotation
protected XSDAnnotation annotation
- The cached value of the '
Annotation
' containment reference.
- See Also:
getAnnotation()
derivationAnnotation
protected XSDAnnotation derivationAnnotation
- The cached value of the '
Derivation Annotation
' containment reference.
- See Also:
getDerivationAnnotation()
annotations
protected org.eclipse.emf.common.util.EList annotations
- The cached value of the '
Annotations
' reference list.
- See Also:
getAnnotations()
analysisState
protected int analysisState
XSDTypeDefinitionImpl
protected XSDTypeDefinitionImpl()
createTypeDefinition
public static XSDTypeDefinition createTypeDefinition(org.w3c.dom.Node node)
eStaticClass
protected org.eclipse.emf.ecore.EClass eStaticClass()
-
- Overrides:
eStaticClass
in class XSDRedefinableComponentImpl
getAnnotation
public XSDAnnotation getAnnotation()
-
- Specified by:
getAnnotation
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Annotation' containment reference.
- See Also:
XSDTypeDefinition.setAnnotation(XSDAnnotation)
,
XSDPackage.getXSDTypeDefinition_Annotation()
setAnnotation
public void setAnnotation(XSDAnnotation newAnnotation)
-
- Specified by:
setAnnotation
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Parameters:
value
- the new value of the 'Annotation' containment reference.- See Also:
XSDTypeDefinition.getAnnotation()
basicSetAnnotation
public org.eclipse.emf.common.notify.NotificationChain basicSetAnnotation(XSDAnnotation newAnnotation,
org.eclipse.emf.common.notify.NotificationChain msgs)
-
getDerivationAnnotation
public XSDAnnotation getDerivationAnnotation()
-
- Specified by:
getDerivationAnnotation
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Derivation Annotation' containment reference.
- See Also:
XSDTypeDefinition.setDerivationAnnotation(XSDAnnotation)
,
XSDPackage.getXSDTypeDefinition_DerivationAnnotation()
setDerivationAnnotation
public void setDerivationAnnotation(XSDAnnotation newDerivationAnnotation)
-
- Specified by:
setDerivationAnnotation
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Parameters:
value
- the new value of the 'Derivation Annotation' containment reference.- See Also:
XSDTypeDefinition.getDerivationAnnotation()
basicSetDerivationAnnotation
public org.eclipse.emf.common.notify.NotificationChain basicSetDerivationAnnotation(XSDAnnotation newDerivationAnnotation,
org.eclipse.emf.common.notify.NotificationChain msgs)
-
getAnnotations
public org.eclipse.emf.common.util.EList getAnnotations()
-
- Specified by:
getAnnotations
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Annotations' reference list.
- See Also:
XSDPackage.getXSDTypeDefinition_Annotations()
patch
protected void patch()
- Overrides:
patch
in class XSDNamedComponentImpl
analyze
protected boolean analyze()
- Overrides:
analyze
in class XSDConcreteComponentImpl
handleAnalysis
protected void handleAnalysis()
getLowestCommonAncestor
public static XSDTypeDefinition getLowestCommonAncestor(java.util.Collection xsdTypeDefinitions)
getBaseType
public XSDTypeDefinition getBaseType()
- Description copied from interface:
XSDTypeDefinition
- Returns the value of the 'Base Type' reference.
This represents the same result as either
the simple 'Base Type Definition
' reference or
the complex 'Base Type Definition
' reference.
- Specified by:
getBaseType
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Base Type' reference.
- See Also:
XSDPackage.getXSDTypeDefinition_BaseType()
getRootType
public XSDTypeDefinition getRootType()
- Description copied from interface:
XSDTypeDefinition
- Returns the value of the 'Root Type' reference.
This walks the base types
until it hits that one that has the ur-type definition as it's base type.
- Specified by:
getRootType
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Root Type' reference.
- See Also:
XSDPackage.getXSDTypeDefinition_RootType()
getSimpleType
public XSDSimpleTypeDefinition getSimpleType()
- Description copied from interface:
XSDTypeDefinition
- Returns the value of the 'Simple Type' reference.
This represents either
the 'Simple Type Definition
' itself or
the complex 'Content Type
' reference,
if it is simple
.
- Specified by:
getSimpleType
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Simple Type' reference.
- See Also:
XSDPackage.getXSDTypeDefinition_SimpleType()
getComplexType
public XSDParticle getComplexType()
-
- Specified by:
getComplexType
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the value of the 'Complex Type' reference.
- See Also:
XSDPackage.getXSDTypeDefinition_ComplexType()
eInverseRemove
public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
int featureID,
java.lang.Class baseClass,
org.eclipse.emf.common.notify.NotificationChain msgs)
-
- Overrides:
eInverseRemove
in class XSDRedefinableComponentImpl
eGet
public java.lang.Object eGet(org.eclipse.emf.ecore.EStructuralFeature eFeature,
boolean resolve)
-
- Specified by:
eGet
in interface org.eclipse.emf.ecore.EObject
- Overrides:
eGet
in class XSDRedefinableComponentImpl
eSet
public void eSet(org.eclipse.emf.ecore.EStructuralFeature eFeature,
java.lang.Object newValue)
-
- Specified by:
eSet
in interface org.eclipse.emf.ecore.EObject
- Overrides:
eSet
in class XSDRedefinableComponentImpl
eUnset
public void eUnset(org.eclipse.emf.ecore.EStructuralFeature eFeature)
-
- Specified by:
eUnset
in interface org.eclipse.emf.ecore.EObject
- Overrides:
eUnset
in class XSDRedefinableComponentImpl
eIsSet
public boolean eIsSet(org.eclipse.emf.ecore.EStructuralFeature eFeature)
-
- Specified by:
eIsSet
in interface org.eclipse.emf.ecore.EObject
- Overrides:
eIsSet
in class XSDRedefinableComponentImpl
isCircular
public boolean isCircular()
- Description copied from interface:
XSDRedefinableComponent
- Returns the value of the 'Circular' attribute.
This indicates whether the definition is circular,
e.g., circular base, item, or member types reference,
circular attribute group definition reference,
or circular model group definition reference.
- Specified by:
isCircular
in interface XSDRedefinableComponent
- Overrides:
isCircular
in class XSDRedefinableComponentImpl
- Following copied from interface:
org.eclipse.xsd.XSDRedefinableComponent
- Returns:
- the value of the 'Circular' attribute.
- See Also:
XSDPackage.getXSDRedefinableComponent_Circular()
getBadTypeDerivation
public XSDTypeDefinition getBadTypeDerivation(XSDTypeDefinition xsdTypeDefinition,
boolean extension,
boolean restriction)
- Description copied from interface:
XSDTypeDefinition
- Returns the first type between this and the given one, that derives from it's base in a way not permitted
as constrained by Type Derivation OK
Complex and
Simple.
The result is
null
if the derivation is valid;
the result is the UR-type
,
if this type is not related to the given type;
otherwise, the result is the base with the blocked derivation method.
- Specified by:
getBadTypeDerivation
in interface XSDTypeDefinition
- Following copied from interface:
org.eclipse.xsd.XSDTypeDefinition
- Returns:
- the first type between this and the given one, that derives from it's base in a way not permitted.