/**
*
*/
package com.hundsun.ares.studio.jres.metadata.core.script.impl;
import org.apache.commons.lang.StringUtils;
import org.eclipse.emf.common.util.EList;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.jres.model.metadata.Function;
import com.hundsun.ares.studio.jres.model.metadata.FunctionProxy;
import com.hundsun.ares.studio.jres.model.metadata.MenuItem;
import com.hundsun.ares.studio.jres.model.metadata.MenuList;
import com.hundsun.ares.studio.jres.script.api.metadata.IFunctionProxyScriptWrap;
import com.hundsun.ares.studio.jres.script.api.metadata.IMenuFunctionScriptWrap;
import com.hundsun.ares.studio.jres.script.base.CommonScriptWrap;
/**
* @author yanwj06282
*
*/
public class FunctionProxyScriptWrapImpl extends CommonScriptWrap<FunctionProxy> implements IFunctionProxyScriptWrap {
public FunctionProxyScriptWrapImpl(FunctionProxy fp ,IARESResource resource) {
super(fp ,resource);
}
@Override
public String getFunCode() {
return getOriginalInfo().getFunCode();
}
@Override
public String getMenuId() {
if (getOriginalInfo() != null && getOriginalInfo().eContainer() != null) {
return ((MenuItem)getOriginalInfo().eContainer()).getName();
}
return null;
}
@Override
public IMenuFunctionScriptWrap getFunctions() {
if (getOriginalInfo() != null && getOriginalInfo().eContainer() instanceof MenuItem && getOriginalInfo().eContainer().eContainer() instanceof MenuList) {
EList<Function> funcs = ((MenuList)getOriginalInfo().eContainer().eContainer()).getFunctions();
for(Function func : funcs){
if (StringUtils.equals(func.getName(), getOriginalInfo().getFunCode())) {
return new MenuFunctionScriptWrapImpl(func, resource);
}
}
}
return null;
}
}