org.eclipse.stp.core.internal.introspection
Class IntrospectionRecorder

java.lang.Object
  extended by org.eclipse.stp.core.internal.introspection.IntrospectionRecorder
All Implemented Interfaces:
IDynamicModelIntrospector

public class IntrospectionRecorder
extends java.lang.Object
implements IDynamicModelIntrospector

Only partially implemented as of 12/01

Since:
1.0

Field Summary
 
Fields inherited from interface org.eclipse.stp.core.introspection.IDynamicModelIntrospector
BATCH, INCREMENTAL_ADD, INCREMENTAL_REMOVE, INCREMENTAL_UPDATE
 
Constructor Summary
IntrospectionRecorder()
           
 
Method Summary
 void attribute(org.eclipse.emf.ecore.EAttribute attribute, java.lang.Object value, boolean isUniqueKey)
          Indicate the attribute being parsed and the current value.
 void endFeature(org.eclipse.emf.ecore.EStructuralFeature feature)
          Indicate when a feature is fully parsed.
 void endIntrospection()
          Indicate the parsing is complete.
 void removeUntouched(org.eclipse.emf.ecore.EStructuralFeature feature)
          Delete the untouched nodes.
 void reset()
          Instruct the parser to dispose of any resources it may be holding onto as a result of a startIntrospection() ...
 void startFeature(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EClass type, org.eclipse.emf.ecore.EStructuralFeature substitutionGroupFeature)
          Indicate which feature is being parsed, the type of that feature, and the serialization feature for that type.
 void startFeature(org.eclipse.emf.ecore.EStructuralFeature feature, org.eclipse.emf.ecore.EClass type, org.eclipse.emf.ecore.EStructuralFeature substitutionGroupFeature, int announcementType)
          Indicate which feature is being parsed, the type of that feature, and the serialization feature for that type.
 void startIntrospection(org.eclipse.emf.ecore.EStructuralFeature theRootFeature, SCAObject theRootObject)
          Should be called before the introspection begins (e.g.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IntrospectionRecorder

public IntrospectionRecorder()
Method Detail

startIntrospection

public void startIntrospection(org.eclipse.emf.ecore.EStructuralFeature theRootFeature,
                               SCAObject theRootObject)
Description copied from interface: IDynamicModelIntrospector
Should be called before the introspection begins (e.g. at the beginning of a parse on the implementatation model).

Specified by:
startIntrospection in interface IDynamicModelIntrospector
Parameters:
theRootFeature - The root feature of the given root. In general, this is an element from the document root.
theRootObject - The target that will be (potentially) modified.

startFeature

public void startFeature(org.eclipse.emf.ecore.EStructuralFeature feature,
                         org.eclipse.emf.ecore.EClass type,
                         org.eclipse.emf.ecore.EStructuralFeature substitutionGroupFeature)
Description copied from interface: IDynamicModelIntrospector
Indicate which feature is being parsed, the type of that feature, and the serialization feature for that type.

For example: SCAPackage pkg = SCAPackage.eINSTANCE; modelIntrospector.startFeature( pkg.getService_Interface(), // we are parsing an interface for a service pkg.getJavaInterface(), // its type is com.ibm.ccl.soa.core.JavaInterface pkg.getSCACoreRoot_InterfaceJava()); // its serialization format is "interface.java"

Specified by:
startFeature in interface IDynamicModelIntrospector
Parameters:
feature - The feature that is being updated
type - The type of the value that will be set on the feature
substitutionGroupFeature - The feature that this type will be serialized as

startFeature

public void startFeature(org.eclipse.emf.ecore.EStructuralFeature feature,
                         org.eclipse.emf.ecore.EClass type,
                         org.eclipse.emf.ecore.EStructuralFeature substitutionGroupFeature,
                         int announcementType)
Description copied from interface: IDynamicModelIntrospector
Indicate which feature is being parsed, the type of that feature, and the serialization feature for that type.

For example: SCAPackage pkg = SCAPackage.eINSTANCE; modelIntrospector.startFeature( pkg.getService_Interface(), // we are parsing an interface for a service pkg.getJavaInterface(), // its type is com.ibm.ccl.soa.core.JavaInterface pkg.getSCACoreRoot_InterfaceJava()); // its serialization format is "interface.java"

Specified by:
startFeature in interface IDynamicModelIntrospector
Parameters:
feature - The feature that is being updated
type - The type of the value that will be set on the feature
substitutionGroupFeature - The feature that this type will be serialized as
announcementType - Should be one of IDynamicModelIntrospector.BATCH, IDynamicModelIntrospector.INCREMENTAL_ADD, IDynamicModelIntrospector.INCREMENTAL_UPDATE, or IDynamicModelIntrospector.INCREMENTAL_REMOVE

attribute

public void attribute(org.eclipse.emf.ecore.EAttribute attribute,
                      java.lang.Object value,
                      boolean isUniqueKey)
Description copied from interface: IDynamicModelIntrospector
Indicate the attribute being parsed and the current value.

Specified by:
attribute in interface IDynamicModelIntrospector
Parameters:
attribute - The attribute of the current feature that has a value
value - The current value of the attribute
isUniqueKey - True marks the attribute as one of possibly many that identifies the uniqueness of this modele element.

endFeature

public void endFeature(org.eclipse.emf.ecore.EStructuralFeature feature)
Description copied from interface: IDynamicModelIntrospector
Indicate when a feature is fully parsed.

Specified by:
endFeature in interface IDynamicModelIntrospector
Parameters:
feature - The feature that has been completed.

endIntrospection

public void endIntrospection()
Description copied from interface: IDynamicModelIntrospector
Indicate the parsing is complete. Apply changes (if any).

Specified by:
endIntrospection in interface IDynamicModelIntrospector

removeUntouched

public void removeUntouched(org.eclipse.emf.ecore.EStructuralFeature feature)
Description copied from interface: IDynamicModelIntrospector
Delete the untouched nodes. Anything not announced should be removed.

Specified by:
removeUntouched in interface IDynamicModelIntrospector
Parameters:
feature - The feature that has been updated.

reset

public void reset()
Description copied from interface: IDynamicModelIntrospector
Instruct the parser to dispose of any resources it may be holding onto as a result of a startIntrospection() ... endIntrospection() sequence.

Specified by:
reset in interface IDynamicModelIntrospector