package com.sap.ap.cts.refactoring.model; import com.sap.ide.refactoring.model.RefactoringModelUtil; import com.sap.ide.refactoring.model.move.MovableElementTarget; import com.sap.tc.moin.repository.mmi.reflect.RefObject; import data.classes.AssociationEnd; import data.classes.SapClass; import data.classes.SignatureImplementation; /** * Counter part of {@link AssociationEndMovableElementAdapter}. * This class implements the actual move operation. * * @author Stephan Erb (d049157) * */ public class AssociationEndMovableElementTargetAdapter implements MovableElementTarget { private final AssociationEnd runletAssociationEnd; private final SapClass target; public AssociationEndMovableElementTargetAdapter(SapClass target, AssociationEnd runletAssociationEnd) { this.target = target; this.runletAssociationEnd = runletAssociationEnd; } @Override public void movetoHere() { runletAssociationEnd.otherEnd().getType().setClazz(target); runletAssociationEnd.getAssociation().setPackage((target).getPackage()); for (SignatureImplementation sigImpl : runletAssociationEnd.getSignatureImplementations()) { sigImpl.getImplements().setOwner(target); } } @Override public RefObject getWrappedModelElement() { return target; } @Override public String getName() { return RefactoringModelUtil.getModelElementName(target); } @Override public String getType() { return RefactoringModelUtil.getModelElementType(target); } @Override public String getRole() { return ""; } }