/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.internal.ui.refactoring;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ltk.core.refactoring.Change;
import org.eclipse.ltk.core.refactoring.resource.ResourceChange;
import com.hundsun.ares.studio.core.IARESElement;
import com.hundsun.ares.studio.core.ISourceManipulation;
/**
*
* @author sundl
*/
public class MoveAresElementChange extends ResourceChange {
private IARESElement elementToMove;
private IARESElement target;
public MoveAresElementChange(IARESElement element, IARESElement target) {
this.elementToMove = element;
this.target = target;
}
/* (non-Javadoc)
* @see org.eclipse.ltk.core.refactoring.resource.ResourceChange#getModifiedResource()
*/
@Override
protected IResource getModifiedResource() {
return elementToMove.getResource();
}
/* (non-Javadoc)
* @see org.eclipse.ltk.core.refactoring.Change#getName()
*/
@Override
public String getName() {
return "�ƶ�" + elementToMove.getElementName() + "��" + target.getElementName();
}
/* (non-Javadoc)
* @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
public Change perform(IProgressMonitor pm) throws CoreException {
if (elementToMove instanceof ISourceManipulation) {
((ISourceManipulation) elementToMove).move(target, null, true, pm);
}
// return new MoveAresElementChange(element, target);
return null;
}
}