org.eclipse.xsd.impl
Class XSDParticleImpl

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.BasicNotifierImpl
      extended by org.eclipse.emf.ecore.impl.BasicEObjectImpl
          extended by org.eclipse.emf.ecore.impl.EObjectImpl
              extended by org.eclipse.xsd.impl.XSDConcreteComponentImpl
                  extended by org.eclipse.xsd.impl.XSDComponentImpl
                      extended by org.eclipse.xsd.impl.XSDComplexTypeContentImpl
                          extended by org.eclipse.xsd.impl.XSDParticleImpl
All Implemented Interfaces:
org.eclipse.emf.common.notify.Notifier, org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.InternalEObject, XSDComplexTypeContent, XSDComponent, XSDConcreteComponent, XSDParticle

public class XSDParticleImpl
extends XSDComplexTypeContentImpl
implements XSDParticle

An implementation of the model object 'Particle'.

The following features are implemented:


Nested Class Summary
static class XSDParticleImpl.XSDNFA
           
 
Nested classes/interfaces inherited from class org.eclipse.xsd.impl.XSDConcreteComponentImpl
XSDConcreteComponentImpl.XSDContentsEList
 
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolder, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderBaseImpl, org.eclipse.emf.ecore.impl.BasicEObjectImpl.EPropertiesHolderImpl
 
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList<E extends java.lang.Object & org.eclipse.emf.common.notify.Adapter>, org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EObservableAdapterList
 
Nested classes/interfaces inherited from interface org.eclipse.xsd.XSDParticle
XSDParticle.DFA
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
org.eclipse.emf.ecore.InternalEObject.EStore
 
Field Summary
protected  XSDParticleContent content
          The cached value of the 'Content' containment reference
static boolean debug
           
protected static int MAX_OCCURS_EDEFAULT
          The default value of the 'Max Occurs' attribute
protected static int MAX_OCCURS_ESETFLAG
          The flag representing whether the Max Occurs attribute has been set
protected static int MAXIMUM_STATES
           
protected  int maxOccurs
          The cached value of the 'Max Occurs' attribute
protected static int MIN_OCCURS_EDEFAULT
          The default value of the 'Min Occurs' attribute
protected static int MIN_OCCURS_ESETFLAG
          The flag representing whether the Min Occurs attribute has been set
protected  int minOccurs
          The cached value of the 'Min Occurs' attribute
protected  XSDTerm term
          The cached value of the 'Term' reference
protected  XSDParticleImpl.XSDNFA xsdNFA
           
protected  int xsdNFACheckSum
           
 
Fields inherited from class org.eclipse.xsd.impl.XSDConcreteComponentImpl
ANALYZED, ANALYZING, CIRCULAR, diagnostics, element, ELEMENT_EDEFAULT, ERROR, FATAL, forceResolve, INFORMATION, isReconciling, UNANALYZED, updatingDOM, WARNING, xsdContents
 
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eContainer, eContainerFeatureID, EDELIVER, EDYNAMIC_CLASS, eFlags, ELAST_EOBJECT_FLAG, ELAST_NOTIFIER_FLAG, eProperties, EPROXY
 
Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET
 
Fields inherited from interface org.eclipse.xsd.XSDParticle
UNBOUNDED
 
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject
EOPPOSITE_FEATURE_BASE
 
Constructor Summary
protected XSDParticleImpl()
           
 
Method Summary
protected  void adoptContent(org.eclipse.emf.ecore.EReference eReference, XSDConcreteComponent xsdConcreteComponent)
           
 boolean analyze()
           
 org.eclipse.emf.common.notify.NotificationChain basicSetContent(XSDParticleContent newContent, org.eclipse.emf.common.notify.NotificationChain msgs)
           
protected  void changeAttribute(org.eclipse.emf.ecore.EAttribute eAttribute)
           
 XSDConcreteComponent cloneConcreteComponent(boolean deep, boolean shareDOM)
          Creates a clone of the component.
 org.w3c.dom.Element createElement()
           
static XSDParticle createParticle(org.w3c.dom.Node node)
           
 java.lang.Object eGet(int featureID, boolean resolve, boolean coreType)
           
 org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, org.eclipse.emf.common.notify.NotificationChain msgs)
           
 boolean eIsSet(int featureID)
           
 void eSet(int featureID, java.lang.Object newValue)
           
protected  org.eclipse.emf.ecore.EClass eStaticClass()
           
 void eUnset(int featureID)
           
 XSDParticleContent getContent()
           
protected  java.util.Collection<org.w3c.dom.Element> getContentNodes(org.w3c.dom.Element changedElement)
           
 XSDParticle.DFA getDFA()
          Returns the deterministic finite state automaton that implements this particle's content model
 int getMaxOccurs()
           
 int getMinOccurs()
           
 XSDTerm getTerm()
           
 boolean isEmptiable()
          Returns whether the particle is emptiable.
 boolean isSetMaxOccurs()
           
 boolean isSetMinOccurs()
           
 boolean isSubset(XSDParticle otherParticle)
          This returns whether this particle accepts a subset of the content accepted by the other particle, i.e., whether this is a valid restriction.
 boolean isSubset(XSDParticle otherParticle, boolean diagnose)
           
protected  void orphanContent(org.eclipse.emf.ecore.EReference eReference, XSDConcreteComponent xsdConcreteComponent)
           
protected  void patch()
           
protected  void patchHelper()
           
protected  void reconcileAttributes(org.w3c.dom.Element changedElement)
           
protected  void reconcileContents(org.w3c.dom.Element changedElement)
           
 void setContent(XSDParticleContent newContent)
           
 void setMaxOccurs(int newMaxOccurs)
           
 void setMinOccurs(int newMinOccurs)
           
 void setTerm(XSDTerm newTerm)
           
 java.lang.String toString()
           
 void unsetMaxOccurs()
           
 void unsetMinOccurs()
           
 void validate()
          Validates whether this component conforms to the constraints defined in the XML Schema standard.
 
Methods inherited from class org.eclipse.xsd.impl.XSDConcreteComponentImpl
adoptBy, adoptDiagnostic, changeReference, checkAttributes, checkAttributeTypeConstraint, checkAttributeTypeConstraint, checkBuiltInTypeConstraint, checkComplexContent, checkComplexContent, checkElementComplexContent, checkSimpleTypeConstraint, clearDiagnostics, cloneConcreteComponents, considerAllContainsForBestConcreteComponent, contains, convertToBoolean, createDiagnostic, createDiagnostic, createDiagnostic, createDiagnostic, 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, getDiagnostics, getDiagnosticTarget, getElement, getRootContainer, getSchema, getURIReferenceLabel, getXSDConcreteComponentImpls, getXSDContents, getXSDFactory, getXSDPackage, handleAnnotationReconciliation, handleElementForAdopt, handleReconciliation, handleUnreconciledElement, isUpdatingDOM, moveContent, niceCreateNamespaceAttribute, niceInsertBefore, niceRemoveChild, niceSetAttribute, niceSetAttributeURIValue, orphanBy, orphanDiagnostic, populateDiagnostic, printDFA, reconcile, reportConstraintViolation, reset, 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
 
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl
eAdapters, eBasicAdapters, eBasicProperties, eBasicSetContainer, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eInvoke, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI
 
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl
eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStaticOperationCount, eStore, eUnset, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues
 
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
eBasicAdapterArray, eBasicHasAdapters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.xsd.XSDConcreteComponent
clearDiagnostics, 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
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Field Detail

MAXIMUM_STATES

protected static final int MAXIMUM_STATES
See Also:
Constant Field Values

MIN_OCCURS_EDEFAULT

protected static final int MIN_OCCURS_EDEFAULT
The default value of the 'Min Occurs' attribute.

See Also:
getMinOccurs(), Constant Field Values

minOccurs

protected int minOccurs
The cached value of the 'Min Occurs' attribute.

See Also:
getMinOccurs()

MIN_OCCURS_ESETFLAG

protected static final int MIN_OCCURS_ESETFLAG
The flag representing whether the Min Occurs attribute has been set.

See Also:
Constant Field Values

MAX_OCCURS_EDEFAULT

protected static final int MAX_OCCURS_EDEFAULT
The default value of the 'Max Occurs' attribute.

See Also:
getMaxOccurs(), Constant Field Values

maxOccurs

protected int maxOccurs
The cached value of the 'Max Occurs' attribute.

See Also:
getMaxOccurs()

MAX_OCCURS_ESETFLAG

protected static final int MAX_OCCURS_ESETFLAG
The flag representing whether the Max Occurs attribute has been set.

See Also:
Constant Field Values

content

protected XSDParticleContent content
The cached value of the 'Content' containment reference.

See Also:
getContent()

term

protected XSDTerm term
The cached value of the 'Term' reference.

See Also:
getTerm()

debug

public static final boolean debug
See Also:
Constant Field Values

xsdNFA

protected XSDParticleImpl.XSDNFA xsdNFA

xsdNFACheckSum

protected int xsdNFACheckSum
Constructor Detail

XSDParticleImpl

protected XSDParticleImpl()

Method Detail

createParticle

public static XSDParticle createParticle(org.w3c.dom.Node node)

eStaticClass

protected org.eclipse.emf.ecore.EClass eStaticClass()

Overrides:
eStaticClass in class XSDComplexTypeContentImpl

getMinOccurs

public int getMinOccurs()

Specified by:
getMinOccurs in interface XSDParticle
Returns:
the value of the 'Min Occurs' attribute.
See Also:
XSDParticle.isSetMinOccurs(), XSDParticle.unsetMinOccurs(), XSDParticle.setMinOccurs(int), XSDPackage.getXSDParticle_MinOccurs()

setMinOccurs

public void setMinOccurs(int newMinOccurs)

Specified by:
setMinOccurs in interface XSDParticle
Parameters:
newMinOccurs - the new value of the 'Min Occurs' attribute.
See Also:
XSDParticle.isSetMinOccurs(), XSDParticle.unsetMinOccurs(), XSDParticle.getMinOccurs()

unsetMinOccurs

public void unsetMinOccurs()

Specified by:
unsetMinOccurs in interface XSDParticle
See Also:
XSDParticle.isSetMinOccurs(), XSDParticle.getMinOccurs(), XSDParticle.setMinOccurs(int)

isSetMinOccurs

public boolean isSetMinOccurs()

Specified by:
isSetMinOccurs in interface XSDParticle
Returns:
whether the value of the 'Min Occurs' attribute is set.
See Also:
XSDParticle.unsetMinOccurs(), XSDParticle.getMinOccurs(), XSDParticle.setMinOccurs(int)

getMaxOccurs

public int getMaxOccurs()

Specified by:
getMaxOccurs in interface XSDParticle
Returns:
the value of the 'Max Occurs' attribute.
See Also:
XSDParticle.UNBOUNDED, XSDParticle.isSetMaxOccurs(), XSDParticle.unsetMaxOccurs(), XSDParticle.setMaxOccurs(int), XSDPackage.getXSDParticle_MaxOccurs()

setMaxOccurs

public void setMaxOccurs(int newMaxOccurs)

Specified by:
setMaxOccurs in interface XSDParticle
Parameters:
newMaxOccurs - the new value of the 'Max Occurs' attribute.
See Also:
XSDParticle.isSetMaxOccurs(), XSDParticle.unsetMaxOccurs(), XSDParticle.getMaxOccurs()

unsetMaxOccurs

public void unsetMaxOccurs()

Specified by:
unsetMaxOccurs in interface XSDParticle
See Also:
XSDParticle.isSetMaxOccurs(), XSDParticle.getMaxOccurs(), XSDParticle.setMaxOccurs(int)

isSetMaxOccurs

public boolean isSetMaxOccurs()

Specified by:
isSetMaxOccurs in interface XSDParticle
Returns:
whether the value of the 'Max Occurs' attribute is set.
See Also:
XSDParticle.unsetMaxOccurs(), XSDParticle.getMaxOccurs(), XSDParticle.setMaxOccurs(int)

getContent

public XSDParticleContent getContent()

Specified by:
getContent in interface XSDParticle
Returns:
the value of the 'Content' containment reference.
See Also:
XSDParticle.getTerm(), XSDParticle.setContent(XSDParticleContent), XSDPackage.getXSDParticle_Content()

setContent

public void setContent(XSDParticleContent newContent)

Specified by:
setContent in interface XSDParticle
Parameters:
newContent - the new value of the 'Content' containment reference.
See Also:
XSDParticle.getContent()

basicSetContent

public org.eclipse.emf.common.notify.NotificationChain basicSetContent(XSDParticleContent newContent,
                                                                       org.eclipse.emf.common.notify.NotificationChain msgs)


getTerm

public XSDTerm getTerm()

Specified by:
getTerm in interface XSDParticle
Returns:
the value of the 'Term' reference.
See Also:
XSDParticle.getContent(), XSDParticle.setTerm(XSDTerm), XSDPackage.getXSDParticle_Term()

setTerm

public void setTerm(XSDTerm newTerm)

Specified by:
setTerm in interface XSDParticle
Parameters:
newTerm - the new value of the 'Term' reference.
See Also:
XSDParticle.getTerm()

eInverseRemove

public org.eclipse.emf.common.notify.NotificationChain eInverseRemove(org.eclipse.emf.ecore.InternalEObject otherEnd,
                                                                      int featureID,
                                                                      org.eclipse.emf.common.notify.NotificationChain msgs)

Overrides:
eInverseRemove in class XSDConcreteComponentImpl

eGet

public java.lang.Object eGet(int featureID,
                             boolean resolve,
                             boolean coreType)

Specified by:
eGet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eGet in class XSDConcreteComponentImpl

eSet

public void eSet(int featureID,
                 java.lang.Object newValue)

Specified by:
eSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eSet in class XSDConcreteComponentImpl

eUnset

public void eUnset(int featureID)

Specified by:
eUnset in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eUnset in class XSDConcreteComponentImpl

eIsSet

public boolean eIsSet(int featureID)

Specified by:
eIsSet in interface org.eclipse.emf.ecore.InternalEObject
Overrides:
eIsSet in class XSDConcreteComponentImpl

toString

public java.lang.String toString()

Overrides:
toString in class XSDConcreteComponentImpl

createElement

public org.w3c.dom.Element createElement()
Overrides:
createElement in class XSDConcreteComponentImpl

patch

protected void patch()
Overrides:
patch in class XSDConcreteComponentImpl

patchHelper

protected void patchHelper()

analyze

public boolean analyze()
Overrides:
analyze in class XSDConcreteComponentImpl

validate

public void validate()
Description copied from interface: XSDConcreteComponent
Validates whether this component conforms to the constraints defined in the XML Schema standard. Diagnostics are produced to report any problems. The effect of calling this for a component not directly or indirectly contained by a schema is undefined, and is likely to result in null pointer exceptions.

Specified by:
validate in interface XSDConcreteComponent
Overrides:
validate in class XSDConcreteComponentImpl
See Also:
XSDConcreteComponent.getDiagnostics(), XSDConcreteComponent.clearDiagnostics()

getContentNodes

protected java.util.Collection<org.w3c.dom.Element> getContentNodes(org.w3c.dom.Element changedElement)
Overrides:
getContentNodes in class XSDConcreteComponentImpl

reconcileAttributes

protected void reconcileAttributes(org.w3c.dom.Element changedElement)
Overrides:
reconcileAttributes in class XSDConcreteComponentImpl

reconcileContents

protected void reconcileContents(org.w3c.dom.Element changedElement)
Overrides:
reconcileContents in class XSDConcreteComponentImpl

changeAttribute

protected void changeAttribute(org.eclipse.emf.ecore.EAttribute eAttribute)
Overrides:
changeAttribute in class XSDConcreteComponentImpl

adoptContent

protected void adoptContent(org.eclipse.emf.ecore.EReference eReference,
                            XSDConcreteComponent xsdConcreteComponent)
Overrides:
adoptContent in class XSDConcreteComponentImpl

orphanContent

protected void orphanContent(org.eclipse.emf.ecore.EReference eReference,
                             XSDConcreteComponent xsdConcreteComponent)
Overrides:
orphanContent in class XSDConcreteComponentImpl

getDFA

public XSDParticle.DFA getDFA()
Description copied from interface: XSDParticle
Returns the deterministic finite state automaton that implements this particle's content model.

Specified by:
getDFA in interface XSDParticle
Returns:
the deterministic finite state automaton that implements this particle's content model.

isEmptiable

public boolean isEmptiable()
Description copied from interface: XSDParticle
Returns whether the particle is emptiable.

Specified by:
isEmptiable in interface XSDParticle
Returns:
whether the particle is emptiable.

isSubset

public boolean isSubset(XSDParticle otherParticle)
Description copied from interface: XSDParticle
This returns whether this particle accepts a subset of the content accepted by the other particle, i.e., whether this is a valid restriction.

Specified by:
isSubset in interface XSDParticle
Parameters:
otherParticle - some other particle.
Returns:
whether this is a valid restriction.

isSubset

public boolean isSubset(XSDParticle otherParticle,
                        boolean diagnose)

cloneConcreteComponent

public XSDConcreteComponent cloneConcreteComponent(boolean deep,
                                                   boolean shareDOM)
Description copied from interface: XSDConcreteComponent
Creates a clone of the component. The clone may be deep and may share the DOM of this component.

Specified by:
cloneConcreteComponent in interface XSDConcreteComponent
Overrides:
cloneConcreteComponent in class XSDConcreteComponentImpl
Parameters:
deep - whether the clone should be deep.
shareDOM - whether the clone should share the original DOM
Returns:
a clone of the component.

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