/**
* Դ�������ƣ�PutCommand.java
* �������Ȩ���������ӹɷ�����˾ ��Ȩ����
* ϵͳ���ƣ�JRES Studio
* ģ�����ƣ�com.hundsun.ares.studio.jres.core
* ����˵����$desc
* ����ĵ���
* ���ߣ���Ҷ��
*/
package com.hundsun.ares.studio.core.model.util;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.edit.command.ChangeCommand;
/**
* ������map��ֵ
* @author gongyf
*
*/
public class PutCommand extends ChangeCommand {
private EObject owner;
private EReference reference;
private Object key;
private Object value;
/**
* @param owner
* @param reference
* @param key
* @param value
*/
public PutCommand(EObject owner,
EReference reference, Object key, Object value) {
super(owner);
this.owner = owner;
this.reference = reference;
this.key = key;
this.value = value;
}
/* (non-Javadoc)
* @see org.eclipse.emf.edit.command.ChangeCommand#doExecute()
*/
@Override
protected void doExecute() {
EMap<Object, Object> map = (EMap<Object, Object>) owner.eGet(reference);
map.put(key, value);
}
@Override
public Collection<?> getAffectedObjects() {
Collection<Object> result = new ArrayList<Object>();
result.add(owner);
return result;
}
}