## org.eclipse.xsd.impl
Class XSDParticleImpl

    java.lang.Object
      org.eclipse.emf.common.notify.impl.BasicNotifierImpl
          org.eclipse.emf.ecore.impl.BasicEObjectImpl
              org.eclipse.emf.ecore.impl.EObjectImpl
                  org.eclipse.xsd.impl.XSDConcreteComponentImpl
                      org.eclipse.xsd.impl.XSDComponentImpl
                          org.eclipse.xsd.impl.XSDComplexTypeContentImpl
                              org.eclipse.xsd.impl.XSDParticleImpl

All Implemented Interfaces:
  Notifier, EObject, InternalEObject, XSDComplexTypeContent, XSDComponent, XSDConcreteComponent, XSDParticle

    public class XSDParticleImpl

extends XSDComplexTypeContentImpl
implements XSDParticle

An implementation of the model object 'Particle'.

The following features are implemented:

- `Min Occurs`
- `Max Occurs`
- `Content`
- `Term`

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
`BasicEObjectImpl.EPropertiesHolder, BasicEObjectImpl.EPropertiesHolderBaseImpl, BasicEObjectImpl.EPropertiesHolderImpl`

Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl
`BasicNotifierImpl.EAdapterList<E extends java.lang.Object & Adapter>`

Nested classes/interfaces inherited from interface org.eclipse.xsd.XSDParticle
`XSDParticle.DFA`

Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject
`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(EReference eReference, XSDConcreteComponent xsdConcreteComponent)`
`boolean` `analyze()`
`NotificationChain` `basicSetContent(XSDParticleContent newContent, NotificationChain msgs)`
`protected void` `changeAttribute(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)`
`NotificationChain` `eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)`
`boolean` `eIsSet(int featureID)`
`void` `eSet(int featureID, java.lang.Object newValue)`
`protected 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(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, eIsProxy, eProperties, eSetClass, eSetDeliver, eSetProxyURI`

Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicClass, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eHasSettings, eInternalResource, eInverseAdd, eInverseAdd, eInverseRemove, eIsSet, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetDirectResource, eSetResource, eSetStore, eSetting, eSettingDelegate, eSettings, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStore, eUnset, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues`

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, 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 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 NotificationChain basicSetContent(XSDParticleContent newContent,
                                             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 NotificationChain eInverseRemove(InternalEObject otherEnd,
                                            int featureID,
                                            NotificationChain msgs)

  Overrides:
    `eInverseRemove` in class `XSDConcreteComponentImpl`

### eGet

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

  Specified by:
    `eGet` in interface `InternalEObject`
  Overrides:
    `eGet` in class `XSDConcreteComponentImpl`

### eSet

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

  Specified by:
    `eSet` in interface `InternalEObject`
  Overrides:
    `eSet` in class `XSDConcreteComponentImpl`

### eUnset

    public void eUnset(int featureID)

  Specified by:
    `eUnset` in interface `InternalEObject`
  Overrides:
    `eUnset` in class `XSDConcreteComponentImpl`

### eIsSet

    public boolean eIsSet(int featureID)

  Specified by:
    `eIsSet` in interface `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(EAttribute eAttribute)

  Overrides:
    `changeAttribute` in class `XSDConcreteComponentImpl`

### adoptContent

    protected void adoptContent(EReference eReference,
                                XSDConcreteComponent xsdConcreteComponent)

  Overrides:
    `adoptContent` in class `XSDConcreteComponentImpl`

### orphanContent

    protected void orphanContent(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.