|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.EObjectImpl
org.eclipse.stp.core.sca.impl.SCAObjectImpl
org.eclipse.stp.core.internal.sca.SCAInternalObjectImpl
org.eclipse.stp.core.sca.impl.ComponentImpl
org.eclipse.stp.core.sca.impl.ImplementationComponentImpl
public class ImplementationComponentImpl
An implementation of the model object 'Implementation Component'.
The following features are implemented:
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl |
---|
org.eclipse.emf.common.notify.impl.BasicNotifierImpl.EAdapterList |
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
org.eclipse.emf.ecore.InternalEObject.EStore |
Field Summary | |
---|---|
static java.lang.String |
copyright
|
Fields inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
---|
ELAST_EOBJECT_FLAG |
Fields inherited from interface org.eclipse.stp.core.sca.Component |
---|
STATE_ABSTRACT, STATE_IMPLEMENTED, STATE_TYPED, TYPE_ABSTRACT |
Fields inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
EOPPOSITE_FEATURE_BASE |
Method Summary | |
---|---|
org.eclipse.emf.common.notify.NotificationChain |
basicSetImplementation(Implementation newImplementation,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
java.lang.Object |
eGet(org.eclipse.emf.ecore.EStructuralFeature eFeature,
boolean resolve)
|
org.eclipse.emf.common.notify.NotificationChain |
eInverseAdd(org.eclipse.emf.ecore.InternalEObject otherEnd,
int featureID,
java.lang.Class baseClass,
org.eclipse.emf.common.notify.NotificationChain msgs)
|
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)
|
void |
eUnset(org.eclipse.emf.ecore.EStructuralFeature eFeature)
|
org.eclipse.emf.ecore.util.FeatureMap |
getAny()
|
org.eclipse.emf.ecore.util.FeatureMap |
getAnyAttribute()
|
Implementation |
getImplementation()
|
org.eclipse.emf.ecore.util.FeatureMap |
getImplementationGroup()
|
int |
getState()
|
java.lang.String |
getType()
|
ComponentType |
resolveComponentType()
Uses the Implementation to resolve the ComponentType. |
Implementation |
setAbstractImplementation(ComponentType newComponentType)
A convenience method to set an abstract implementation type (SCAPackage.eINSTANCE.getSCACoreRoot_ImplementationAbstract()). |
void |
setImplementation(Implementation newImplementation)
|
void |
setImplementationGen(Implementation newImplementation)
|
Implementation |
setSpecializedImplementation(Implementation newImplementation)
To correctly support substitution groups, the specific EMF feature for an implementation element type must be specified through a FeatureAdapter attached to the
Implementation. |
java.lang.String |
toString()
|
Methods inherited from class org.eclipse.stp.core.sca.impl.ComponentImpl |
---|
basicSetPropertyValuesSet, basicSetReferenceValuesSet, getComposite, getName, getPropertyValuesSet, getReferenceValues, getReferenceValues, getReferenceValues, getReferenceValuesSet, getSingleWireSource, getSingleWireTarget, getWireSource, getWireSource, getWireSourcesWiredToTarget, getWireTarget, getWireTarget, hasValidAbstractType, setName, setPropertyValuesSet, setReferenceValue, setReferenceValuesSet |
Methods inherited from class org.eclipse.stp.core.internal.sca.SCAInternalObjectImpl |
---|
getEObject, getFlags |
Methods inherited from class org.eclipse.stp.core.sca.impl.SCAObjectImpl |
---|
addStatus, clearStatus, getStatus |
Methods inherited from class org.eclipse.emf.ecore.impl.EObjectImpl |
---|
eAdapters, eClass, eContainerFeatureID, eDeliver, eInternalContainer, eIsProxy, eSetClass, eSetDeliver, eSetProxyURI |
Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl |
---|
eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eContainer, eContainingFeature, eContainmentFeature, eContains, eContents, eCrossReferences, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDirectResource, eDynamicBasicRemoveFromContainer, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eInternalResource, eInverseAdd, eInverseRemove, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eProxyURI, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eStore, eUnset, eURIFragmentSegment, eVirtualGet, eVirtualGet, eVirtualIsSet, eVirtualSet, eVirtualUnset |
Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl |
---|
eNotificationRequired, eNotify |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eclipse.stp.core.sca.Component |
---|
getComposite, getName, getPropertyValuesSet, getReferenceValues, getReferenceValues, getReferenceValues, getSingleWireSource, getSingleWireTarget, getWireSource, getWireSource, getWireSourcesWiredToTarget, getWireTarget, getWireTarget, setName, setPropertyValuesSet, setReferenceValue |
Methods inherited from interface org.eclipse.stp.core.sca.SCAObject |
---|
addStatus, clearStatus, getEObject, getFlags, getStatus |
Methods inherited from interface org.eclipse.emf.ecore.EObject |
---|
eAllContents, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eResource |
Methods inherited from interface org.eclipse.emf.common.notify.Notifier |
---|
eNotify |
Methods inherited from interface org.eclipse.emf.ecore.InternalEObject |
---|
eNotificationRequired |
Field Detail |
---|
public static final java.lang.String copyright
Method Detail |
---|
public org.eclipse.emf.ecore.util.FeatureMap getImplementationGroup()
public Implementation getImplementation()
getImplementation
in interface Component
public org.eclipse.emf.common.notify.NotificationChain basicSetImplementation(Implementation newImplementation, org.eclipse.emf.common.notify.NotificationChain msgs)
public void setImplementationGen(Implementation newImplementation)
public org.eclipse.emf.ecore.util.FeatureMap getAny()
getAny
in interface ImplementationComponent
SCAPackage.getImplementationComponent_Any()
public org.eclipse.emf.ecore.util.FeatureMap getAnyAttribute()
getAnyAttribute
in interface ImplementationComponent
SCAPackage.getImplementationComponent_AnyAttribute()
public org.eclipse.emf.common.notify.NotificationChain eInverseAdd(org.eclipse.emf.ecore.InternalEObject otherEnd, int featureID, java.lang.Class baseClass, org.eclipse.emf.common.notify.NotificationChain msgs)
eInverseAdd
in interface org.eclipse.emf.ecore.InternalEObject
eInverseAdd
in class ComponentImpl
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)
eInverseRemove
in interface org.eclipse.emf.ecore.InternalEObject
eInverseRemove
in class ComponentImpl
public java.lang.Object eGet(org.eclipse.emf.ecore.EStructuralFeature eFeature, boolean resolve)
eGet
in interface org.eclipse.emf.ecore.EObject
eGet
in class ComponentImpl
public void eSet(org.eclipse.emf.ecore.EStructuralFeature eFeature, java.lang.Object newValue)
eSet
in interface org.eclipse.emf.ecore.EObject
eSet
in class ComponentImpl
public void eUnset(org.eclipse.emf.ecore.EStructuralFeature eFeature)
eUnset
in interface org.eclipse.emf.ecore.EObject
eUnset
in class ComponentImpl
public boolean eIsSet(org.eclipse.emf.ecore.EStructuralFeature eFeature)
eIsSet
in interface org.eclipse.emf.ecore.EObject
eIsSet
in class ComponentImpl
public java.lang.String toString()
toString
in class ComponentImpl
public void setImplementation(Implementation newImplementation)
public Implementation setSpecializedImplementation(Implementation newImplementation)
Component
FeatureAdapter
attached to the
Implementation. Component Handlers or other clients should set the feature
using
FeatureAdapter.setFeature(SCAObject, EStructuralFeature)
.
For the example test, a PropertiesImplementation was created which has a
structural feature on the document root of
PropsPackage.eINSTANCE.getDocumentRoot_ImplementationProperties(). So the
correct feature to set using the FeatureAdapter for the
PropertiesImplementation EClass instances is
PropsPackage.eINSTANCE.getDocumentRoot_ImplementationProperties(). This
will ensure that when the XML document is serialized, that it uses the
substitution group element name ("implementation.properties") instead of
using the xsi:type="props:PropertiesImplementation" format.
setSpecializedImplementation
in interface Component
newImplementation
- The instance of the implementation to configure this component
with.
public Implementation setAbstractImplementation(ComponentType newComponentType)
Component
setAbstractImplementation
in interface Component
newComponentType
- The component type that should be used to configure the Abstract
Implementation that will be created for this Component.
public int getState()
getState
in interface Component
Component.STATE_ABSTRACT
, Component.STATE_TYPED
, or
Component.STATE_IMPLEMENTED
.public java.lang.String getType()
getType
in interface Component
Component.getState()
returns Component.STATE_ABSTRACT
, the type
will be "implementation.abstract". Otherwise, the type will be the
substitution group name of the implementation.public ComponentType resolveComponentType()
Component
If the Implementation is abstract, then the ComponentType is an embedded element and cannot be shared. Otherwise, the ComponentType could be shared; the underlying implementation will determine if the ComponentType can be shared and handle it automatically.
The ComponentType can be shared in some cases. If the implementation
introspector defines an IShareableComponentTypeFactory
, then the
implementation model will be converted to URI and requested through the
ResourceSet of the Implementation that is supplied.
Therefore, resolve() should only be supplied implementations that are contained by a Component, which are contained by a ResourceSet. (The actual containment is Implementation > Component > Composite/Module > SCACoreRoot > Resource > ResourceSet).
The one special case is AbstractImplementation (SCAPackage.getAbstractImplementation()
)
which does not need to be contained to be resolved.
The feature from the implementation will be determined using the
FeatureMap of the containing Component
.
The containment requirement is to allow context for resolving a
specialized implementation. For cases where the Component or the
Implementation is not contained, use
IModelIntrospectionManager.resolve(Implementation)
to resolve an Implementation and explicitly supply the correct project as
the context.
resolveComponentType
in interface Component
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |