|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.stp.core.internal.introspection.ModelIntrospectionManager
public class ModelIntrospectionManager
Provides the implementaiton of
IModelIntrospectionManager
.
Clients should access this implementation through
IModelIntrospectionManager.eINSTANCE
.
IModelIntrospectionManager.eINSTANCE
Field Summary |
---|
Fields inherited from interface org.eclipse.stp.core.introspection.IModelIntrospectionManager |
---|
eINSTANCE |
Constructor Summary | |
---|---|
ModelIntrospectionManager()
|
Method Summary | |
---|---|
void |
bind(ComponentType componentType,
org.eclipse.emf.common.util.URI implementation)
Bind a ComponentType to a specific implementation. |
static org.eclipse.emf.ecore.EStructuralFeature |
getStructuralFeature(SCAObject anSCAObject)
This method assumes that the Implementation is contained so that it can check the FeatureMap of the containing model element. |
static java.lang.String |
getSubstitutionGroupName(SCAObject anSCAObject)
|
ComponentType |
resolve(Implementation implementation)
Resolve will return a ComponentType bound to the given
implementation. |
ComponentType |
resolve(Implementation implementation,
org.eclipse.core.resources.IProject context)
|
void |
unbind(ComponentType componentType)
Strip the modeled ComponentType from the implementation which backs it. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ModelIntrospectionManager()
Method Detail |
---|
public void bind(ComponentType componentType, org.eclipse.emf.common.util.URI implementation)
IModelIntrospectionManager
Clients which acquire the ComponentType from
Component.resolveComponentType()
should
NOT call this method.
bind
in interface IModelIntrospectionManager
componentType
- A non-null componentTypeimplementation
- The implementation URI of the backing model (e.g. a fully
qualified Java class)public void unbind(ComponentType componentType)
IModelIntrospectionManager
No changes will be made to the underlying model as a result of this method.
unbind
in interface IModelIntrospectionManager
componentType
- A non-null componenttype that has been bound.public ComponentType resolve(Implementation implementation)
IModelIntrospectionManager
ComponentType
bound to the given
implementation.
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
.
resolve
in interface IModelIntrospectionManager
implementation
- A contained Implementation
public ComponentType resolve(Implementation implementation, org.eclipse.core.resources.IProject context)
public static org.eclipse.emf.ecore.EStructuralFeature getStructuralFeature(SCAObject anSCAObject)
This method asserts its expectations so don't get tricky.
implementation
- The Implementation which must either be contained or have a
FeatureAdapter.
public static java.lang.String getSubstitutionGroupName(SCAObject anSCAObject)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |