Class AbstractRefactoring

java.lang.Object
org.contextmapper.dsl.refactoring.AbstractRefactoring
All Implemented Interfaces:
SemanticCMLRefactoring
Direct Known Subclasses:
AbstractExtractSymmetricRelationshipRefactoring, AbstractToggleSymmetricRelationshipRefactoring, ChangePartnershipToUpstreamDownstreamRefactoring, DeriveBoundedContextFromSubdomains, DeriveFrontendAndBackendSystemsFromFeature, DeriveSubdomainFromUserRequirements, ExtractAggregatesByCohesion, ExtractAggregatesByVolatility, MergeAggregatesRefactoring, MergeBoundedContextsRefactoring, SplitAggregateByEntitiesRefactoring, SplitBoundedContextByAggregateAttribute, SplitSystemIntoSubsystems

public abstract class AbstractRefactoring extends Object implements SemanticCMLRefactoring
  • Field Details

    • model

      protected ContextMappingModel model
    • rootResource

      protected CMLResource rootResource
    • importedResources

      protected Set<CMLResource> importedResources
    • consistencyCheckResources

      protected org.eclipse.emf.ecore.resource.ResourceSet consistencyCheckResources
    • additionalResourcesToCheck

      protected Set<CMLResource> additionalResourcesToCheck
  • Constructor Details

    • AbstractRefactoring

      public AbstractRefactoring()
  • Method Details

    • refactor

      public void refactor(CMLResource resource)
      Description copied from interface: SemanticCMLRefactoring
      Applies the refactoring to the CML model in the given resource.
      Specified by:
      refactor in interface SemanticCMLRefactoring
      Parameters:
      resource - the resource with the CML model that shall be refactored
    • refactor

      public void refactor(CMLResource resource, org.eclipse.emf.ecore.resource.ResourceSet consistencyCheckResources)
      Description copied from interface: SemanticCMLRefactoring
      Applies the refactoring to the CML model in the given resource. Additionally ensures consistency in Context Maps in all resources of the additional ResourceSet.
      Specified by:
      refactor in interface SemanticCMLRefactoring
      Parameters:
      resource - the resource with the CML model that shall be refactored.
      consistencyCheckResources - the resources that contain Context Maps which potentially have to be corrected after refactoring. For example: if you have other models in your workspace that have referenes to the refactored one. If you provide them here as s ResourceSet, the refactoring can correct the references.
    • persistChanges

      public void persistChanges(org.eclipse.xtext.serializer.ISerializer serializer)
      Description copied from interface: SemanticCMLRefactoring
      Can be called after the 'refactor' method, in case one wants to save/persist the changes to the CML files.
      Specified by:
      persistChanges in interface SemanticCMLRefactoring
      Parameters:
      serializer - the serializer that will be used to check whether the model can be persisted.
    • doRefactor

      protected abstract void doRefactor()
    • getAllBoundedContexts

      protected Set<BoundedContext> getAllBoundedContexts()
    • getAllContextMaps

      protected Set<ContextMap> getAllContextMaps()
    • getAllDomains

      protected Set<Domain> getAllDomains()
    • getAllUserRequirements

      protected Set<UserRequirement> getAllUserRequirements()
    • getResource

      protected CMLResource getResource(BoundedContext bc)
    • addElementsToEList

      protected <T> void addElementsToEList(org.eclipse.emf.common.util.EList<T> list, List<T> elementsToAdd)
    • addElementToEList

      protected <T> void addElementToEList(org.eclipse.emf.common.util.EList<T> list, T elementToAdd)
    • removeElementFromEList

      protected <T> void removeElementFromEList(org.eclipse.emf.common.util.EList<T> list, T object)