|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.emf.ecore.util.EcoreUtil org.eclipse.ocl.examples.pivot.utilities.AbstractConversion org.eclipse.ocl.examples.xtext.base.cs2pivot.CS2PivotConversion
public class CS2PivotConversion
Nested Class Summary | |
---|---|
static class |
CS2PivotConversion.CacheKey<T>
|
Nested classes/interfaces inherited from class org.eclipse.ocl.examples.pivot.utilities.AbstractConversion |
---|
AbstractConversion.Predicate<T extends org.eclipse.emf.ecore.EObject> |
Nested classes/interfaces inherited from class org.eclipse.emf.ecore.util.EcoreUtil |
---|
org.eclipse.emf.ecore.util.EcoreUtil.AbstractFilteredSettingsIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.ContentTreeIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.Copier, org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.EGenericTypeConverter, org.eclipse.emf.ecore.util.EcoreUtil.EqualityHelper, org.eclipse.emf.ecore.util.EcoreUtil.ExternalCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.FilteredSettingsIterator, org.eclipse.emf.ecore.util.EcoreUtil.ProperContentIterator<E>, org.eclipse.emf.ecore.util.EcoreUtil.ProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UnresolvedProxyCrossReferencer, org.eclipse.emf.ecore.util.EcoreUtil.UsageCrossReferencer |
Field Summary | |
---|---|
static TracingOption |
CONTINUATION
|
protected CS2Pivot |
converter
|
protected java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> |
csResources
|
protected java.util.Map<java.lang.String,MonikeredElementCS> |
moniker2CSmap
|
protected java.util.Map<java.lang.String,MonikeredElement> |
newMoniker2PivotMap
The evolving mapping from monikers to pivot elements during an update. |
protected java.util.Map<Pivotable,Package> |
oldCS2PivotMap
|
protected java.util.Map<java.lang.String,MonikeredElement> |
oldMoniker2PivotMap
The mapping from monikers to pivot elements prior to the start of the update. |
protected TypeManager |
typeManager
|
Fields inherited from class org.eclipse.emf.ecore.util.EcoreUtil |
---|
GEN_MODEL_PACKAGE_NS_URI, GET, IS_SET, SET, UNSET |
Constructor Summary | |
---|---|
CS2PivotConversion(CS2Pivot converter,
org.eclipse.xtext.diagnostics.IDiagnosticConsumer diagnosticsConsumer,
java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
|
Method Summary | ||
---|---|---|
OclExpression |
addBadExpressionError(ModelElementCS csElement,
java.lang.String boundMessage)
|
|
InvalidType |
addBadTypeError(ModelElementCS csElement,
java.lang.String message,
java.lang.Object... bindings)
|
|
void |
addDiagnostic(ModelElementCS csElement,
org.eclipse.emf.common.util.Diagnostic diagnostic)
|
|
void |
addDiagnostic(ModelElementCS csElement,
java.lang.String boundMessage)
|
|
protected void |
addUnderspecifiedTypedElement(TypedElement pivotElement)
|
|
void |
addWarning(ModelElementCS csElement,
java.lang.String message,
java.lang.Object... bindings)
|
|
boolean |
checkForNoErrors(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
|
|
void |
checkMonikers()
|
|
protected void |
diagnoseContinuationFailure(java.util.List<BasicContinuation<?>> continuations)
|
|
void |
garbageCollect(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> pivotResources)
|
|
protected void |
gatherNewPackages(java.util.Set<Package> newPackages,
java.util.List<? extends org.eclipse.emf.ecore.EObject> csElements)
Add any packages and nested packages pivoted by csObjects to newPackages. |
|
protected void |
gatherOldPackages(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects)
Add any packages and nested packages in eObjects to oldPackages. |
|
CS2Pivot |
getConverter()
|
|
|
getIntermediate(CS2PivotConversion.CacheKey<T> key)
|
|
BaseCSVisitor<MonikeredElement,CS2PivotConversion> |
getLeft2RightVisitor(org.eclipse.emf.ecore.EPackage ePackage)
|
|
InterDependency<BasePreOrderVisitor.OperationContinuation<?>> |
getOperationsHaveTemplateParametersInterDependency()
|
|
InterDependency<BasePreOrderVisitor.PackageContentContinuation> |
getPackagesHaveTypesInterDependency()
|
|
|
getPivotElement(java.lang.Class<T> pivotClass,
java.lang.String moniker)
|
|
MonikeredElement |
getPivotElement(java.lang.String moniker)
|
|
BaseCSVisitor<Continuation<?>,CS2PivotConversion> |
getPostOrderVisitor(org.eclipse.emf.ecore.EPackage ePackage)
|
|
BaseCSVisitor<Continuation<?>,CS2PivotConversion> |
getPreOrderVisitor(org.eclipse.emf.ecore.EPackage ePackage)
|
|
protected java.lang.String |
getQualifiedName(java.lang.StringBuffer s,
Package pkg)
|
|
protected java.lang.String |
getQualifiedName(java.lang.StringBuffer s,
PackageCS csPackage)
|
|
protected java.util.List<TemplateBindingCS> |
getTemplateBindings(ElementCS csElement)
|
|
protected java.util.List<TemplateSignature> |
getTemplateSignatures(Element pivotElement)
|
|
TypeManager |
getTypeManager()
|
|
InterDependency<BasePreOrderVisitor.TemplateSignatureContinuation> |
getTypesHaveSignaturesInterDependency()
|
|
InterDependency<BasePreOrderVisitor.TemplateBindingContinuation> |
getTypesHaveSpecializationsInterDependency()
|
|
void |
handleVisitNamedElement(NamedElementCS csNamedElement,
NamedElement pivotElement)
|
|
void |
installPivotElement(ModelElementCS csElement,
Element newPivotElement)
|
|
void |
installResidualMonikers(MonikeredElement monikeredElement)
|
|
protected void |
installRootContents(org.eclipse.emf.ecore.resource.Resource csResource)
|
|
protected java.util.List<BasicContinuation<?>> |
progressContinuations(java.util.List<BasicContinuation<?>> continuations)
Invoke all of the continuations that can execute, returning the list of continuations till to perform, some of which may be ones that were blocked by unsatisfied dependencies, others of which may be further continuations resulting from only partial progress. |
|
|
putIntermediate(CS2PivotConversion.CacheKey<T> key,
T object)
|
|
void |
putPivotElement(MonikeredElement pivotElement)
|
|
void |
putPivotElement(java.lang.String moniker,
MonikeredElement pivotElement)
|
|
protected void |
refreshComments(Element pivotElement,
ElementCS csElement)
|
|
|
refreshExpression(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
MonikeredElementCS csElement)
|
|
|
refreshList(java.lang.Class<T> pivotClass,
java.util.List<T> pivotElements,
java.util.List<? extends MonikeredElementCS> csElements)
|
|
|
refreshMonikeredElement(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
MonikeredElementCS csElement)
Return a pivotEClass instance cast to pivotClass registered for csElement.getMoniker(). |
|
|
refreshMonikeredElement(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
java.lang.String moniker)
|
|
|
refreshMultiplicity(MultiplicityElement pivotElement,
TypedElementCS csTypedElement)
|
|
void |
refreshName(NamedElement pivotNamedElement,
java.lang.String newName)
|
|
|
refreshNamedElement(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
NamedElementCS csElement)
|
|
|
refreshPackage(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
PackageCS csElement)
|
|
|
refreshPivotList(java.lang.Class<T> pivotClass,
java.util.List<? super T> pivotElements,
java.util.List<? extends ModelElementCS> csElements)
|
|
void |
refreshTemplateSignature(TemplateableElementCS csTemplateableElement,
TemplateableElement pivotTemplateableElement)
|
|
|
refreshTypedMultiplicityElement(java.lang.Class<T> pivotClass,
org.eclipse.emf.ecore.EClass pivotEClass,
TypedElementCS csTypedElement)
|
|
void |
reputPivotElement(java.lang.String moniker,
MonikeredElement pivotElement)
|
|
protected void |
resetPivotMappings(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
|
|
void |
resolveIterationSpecialization(LoopExp expression)
The iteration was initially specialized without knowledge of the body type. |
|
void |
resolveIterationUnderspecification(LoopExp expression)
The iteration was initially specialized without knowledge of the body type. |
|
void |
resolveNamespaces(java.util.List<Namespace> namespaces)
|
|
protected Type |
resolveUnderspecifiedType(Type type)
|
|
protected void |
resolveUnderspecifiedTypes()
|
|
void |
reusePivotElement(ModelElementCS csElement,
Element newPivotElement)
Install a CS to Pivot mapping for which the CS element does not have a matching moniker. |
|
void |
setReferredIteration(LoopExp expression,
Iteration iteration)
|
|
void |
setReferredOperation(OperationCallExp expression,
Operation operation)
|
|
void |
setType(TypedElement pivotElement,
Type type)
Set the type and so potentially satisfy some TypeOfDependency. |
|
void |
setTypeWithMultiplicity(TypedElement typedElement,
TypedMultiplicityElement typedMultiplicityElement)
|
|
protected void |
specializeTemplateBindings(java.util.List<TemplateBinding> templateBindings,
java.util.List<TemplateSignature> templateSignatures,
java.util.List<TemplateBindingCS> csTemplateBindings)
Update a list of TemplateBinding to match a list of TemplateSignature by moving/adding/removing existing entries. |
|
protected void |
specializeTemplateParameterSubstitutions(java.util.List<TemplateParameterSubstitution> templateParameterSubstitutions,
java.util.List<TemplateParameter> templateParameters,
java.util.List<TemplateParameterSubstitutionCS> csTemplateParameterSubstitutions)
Update a list of TemplateParameterSubstitution to match a list of TemplateParameter by moving/adding/removing existing entries. |
|
protected TemplateableElement |
specializeTemplates(TypedTypeRefCS csElement)
|
|
protected java.lang.String |
trimString(java.lang.String string)
|
|
boolean |
update()
Sequence the update passes to make the pivot match the CS. |
|
void |
usePivotElement(ModelElementCS csElement,
Element newPivotElement)
Install a CS to Pivot mapping for which the CS element does not map to the pivot object. |
|
protected void |
visitInPostOrder(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects,
java.util.List<BasicContinuation<?>> continuations)
|
|
protected void |
visitInPreOrder(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects,
java.util.List<BasicContinuation<?>> continuations)
|
|
|
visitLeft2Right(java.lang.Class<T> pivotClass,
VisitableCS csObject)
|
Methods inherited from class org.eclipse.ocl.examples.pivot.utilities.AbstractConversion |
---|
basicGet, getEPackage, isId, refreshList, refreshSet |
Methods inherited from class org.eclipse.emf.ecore.util.EcoreUtil |
---|
computeDiagnostic, convertToString, copy, copyAll, create, createFromString, delete, delete, equals, filterDescendants, freeze, generateUUID, generateUUID, getAdapter, getAdapterFactory, getAllContents, getAllContents, getAllContents, getAllContents, getAllContents, getAllProperContents, getAllProperContents, getAllProperContents, getAllProperContents, getAnnotation, getConstraints, getDocumentation, getExistingAdapter, getID, getIdentification, getInvocationDelegateFactory, getInvocationDelegates, getObjectByType, getObjectsByType, getRegisteredAdapter, getRegisteredAdapter, getRootContainer, getRootContainer, getSettingDelegateFactory, getSettingDelegates, getURI, getValidationDelegates, indexOf, isAncestor, isAncestor, isAncestor, isAncestor, isInvariant, isSuppressedVisibility, isSuppressedVisibility, remove, remove, remove, replace, replace, replace, resolve, resolve, resolve, resolveAll, resolveAll, resolveAll, setAnnotation, setConstraints, setDocumentation, setEList, setEList, setID, setInvocationDelegates, setSettingDelegates, setSuppressedVisibility, setSuppressedVisibility, setValidationDelegates, toJavaInstanceTypeName, wrapperClassFor |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final TracingOption CONTINUATION
protected final CS2Pivot converter
protected final TypeManager typeManager
protected final java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources
protected final java.util.Map<Pivotable,Package> oldCS2PivotMap
protected final java.util.Map<java.lang.String,MonikeredElementCS> moniker2CSmap
protected final java.util.Map<java.lang.String,MonikeredElement> oldMoniker2PivotMap
protected final java.util.Map<java.lang.String,MonikeredElement> newMoniker2PivotMap
Constructor Detail |
---|
public CS2PivotConversion(CS2Pivot converter, org.eclipse.xtext.diagnostics.IDiagnosticConsumer diagnosticsConsumer, java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
Method Detail |
---|
public OclExpression addBadExpressionError(ModelElementCS csElement, java.lang.String boundMessage)
public void addDiagnostic(ModelElementCS csElement, org.eclipse.emf.common.util.Diagnostic diagnostic)
public void addDiagnostic(ModelElementCS csElement, java.lang.String boundMessage)
public InvalidType addBadTypeError(ModelElementCS csElement, java.lang.String message, java.lang.Object... bindings)
protected void addUnderspecifiedTypedElement(TypedElement pivotElement)
public void addWarning(ModelElementCS csElement, java.lang.String message, java.lang.Object... bindings)
public boolean checkForNoErrors(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
public void checkMonikers()
protected void diagnoseContinuationFailure(java.util.List<BasicContinuation<?>> continuations)
public void garbageCollect(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> pivotResources)
protected void gatherNewPackages(java.util.Set<Package> newPackages, java.util.List<? extends org.eclipse.emf.ecore.EObject> csElements)
protected void gatherOldPackages(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects)
public final CS2Pivot getConverter()
public <T> T getIntermediate(CS2PivotConversion.CacheKey<T> key)
public BaseCSVisitor<MonikeredElement,CS2PivotConversion> getLeft2RightVisitor(org.eclipse.emf.ecore.EPackage ePackage)
public InterDependency<BasePreOrderVisitor.OperationContinuation<?>> getOperationsHaveTemplateParametersInterDependency()
public InterDependency<BasePreOrderVisitor.PackageContentContinuation> getPackagesHaveTypesInterDependency()
public <T extends Element> T getPivotElement(java.lang.Class<T> pivotClass, java.lang.String moniker)
public MonikeredElement getPivotElement(java.lang.String moniker)
public BaseCSVisitor<Continuation<?>,CS2PivotConversion> getPostOrderVisitor(org.eclipse.emf.ecore.EPackage ePackage)
public BaseCSVisitor<Continuation<?>,CS2PivotConversion> getPreOrderVisitor(org.eclipse.emf.ecore.EPackage ePackage)
protected java.lang.String getQualifiedName(java.lang.StringBuffer s, Package pkg)
protected java.lang.String getQualifiedName(java.lang.StringBuffer s, PackageCS csPackage)
protected java.util.List<TemplateBindingCS> getTemplateBindings(ElementCS csElement)
protected java.util.List<TemplateSignature> getTemplateSignatures(Element pivotElement)
public final TypeManager getTypeManager()
public InterDependency<BasePreOrderVisitor.TemplateSignatureContinuation> getTypesHaveSignaturesInterDependency()
public InterDependency<BasePreOrderVisitor.TemplateBindingContinuation> getTypesHaveSpecializationsInterDependency()
public void handleVisitNamedElement(NamedElementCS csNamedElement, NamedElement pivotElement)
public void installPivotElement(ModelElementCS csElement, Element newPivotElement)
public void installResidualMonikers(MonikeredElement monikeredElement)
protected void installRootContents(org.eclipse.emf.ecore.resource.Resource csResource)
protected java.util.List<BasicContinuation<?>> progressContinuations(java.util.List<BasicContinuation<?>> continuations)
continuations
-
public <T> T putIntermediate(CS2PivotConversion.CacheKey<T> key, T object)
public void putPivotElement(MonikeredElement pivotElement)
public void putPivotElement(java.lang.String moniker, MonikeredElement pivotElement)
protected void refreshComments(Element pivotElement, ElementCS csElement)
public <T extends OclExpression> T refreshExpression(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, MonikeredElementCS csElement)
public <T extends Element> void refreshList(java.lang.Class<T> pivotClass, java.util.List<T> pivotElements, java.util.List<? extends MonikeredElementCS> csElements)
public <T extends MonikeredElement> T refreshMonikeredElement(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, MonikeredElementCS csElement)
An existing moniker element is re-used else an new instance is created.
The pivot element is installed as the original object of csElement.
T
- pivotClass
- pivotEClass
- csElement
-
public <T extends MonikeredElement> T refreshMonikeredElement(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, java.lang.String moniker)
public void refreshName(NamedElement pivotNamedElement, java.lang.String newName)
public <T extends NamedElement> T refreshNamedElement(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, NamedElementCS csElement)
public <T extends Package> T refreshPackage(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, PackageCS csElement)
public <T extends Element> void refreshPivotList(java.lang.Class<T> pivotClass, java.util.List<? super T> pivotElements, java.util.List<? extends ModelElementCS> csElements)
public void refreshTemplateSignature(TemplateableElementCS csTemplateableElement, TemplateableElement pivotTemplateableElement)
public <T extends TypedMultiplicityElement> T refreshTypedMultiplicityElement(java.lang.Class<T> pivotClass, org.eclipse.emf.ecore.EClass pivotEClass, TypedElementCS csTypedElement)
public <T> void refreshMultiplicity(MultiplicityElement pivotElement, TypedElementCS csTypedElement)
protected void resetPivotMappings(java.util.Collection<? extends org.eclipse.emf.ecore.resource.Resource> csResources)
public void resolveIterationSpecialization(LoopExp expression)
public void resolveIterationUnderspecification(LoopExp expression)
public void resolveNamespaces(java.util.List<Namespace> namespaces)
protected void resolveUnderspecifiedTypes()
protected Type resolveUnderspecifiedType(Type type)
public void reputPivotElement(java.lang.String moniker, MonikeredElement pivotElement)
public void reusePivotElement(ModelElementCS csElement, Element newPivotElement)
public void setReferredIteration(LoopExp expression, Iteration iteration)
public void setReferredOperation(OperationCallExp expression, Operation operation)
public void setType(TypedElement pivotElement, Type type)
pivotExpression
- type
- public void setTypeWithMultiplicity(TypedElement typedElement, TypedMultiplicityElement typedMultiplicityElement)
protected void specializeTemplateBindings(java.util.List<TemplateBinding> templateBindings, java.util.List<TemplateSignature> templateSignatures, java.util.List<TemplateBindingCS> csTemplateBindings)
templateBindings
- templateSignatures
- protected void specializeTemplateParameterSubstitutions(java.util.List<TemplateParameterSubstitution> templateParameterSubstitutions, java.util.List<TemplateParameter> templateParameters, java.util.List<TemplateParameterSubstitutionCS> csTemplateParameterSubstitutions)
eList
- templateSignature
- templateBinding
- protected TemplateableElement specializeTemplates(TypedTypeRefCS csElement)
protected java.lang.String trimString(java.lang.String string)
public boolean update()
csResources
- public void usePivotElement(ModelElementCS csElement, Element newPivotElement)
public <T extends MonikeredElement> T visitLeft2Right(java.lang.Class<T> pivotClass, VisitableCS csObject)
protected void visitInPostOrder(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects, java.util.List<BasicContinuation<?>> continuations)
protected void visitInPreOrder(java.util.List<? extends org.eclipse.emf.ecore.EObject> eObjects, java.util.List<BasicContinuation<?>> continuations)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |