Java tutorial
/** * The Clican-Pluto software suit is Copyright 2009, Clican Company and individual contributors, and is licensed under the GNU LGPL. * * @author clican * */ package com.clican.pluto.dataprocess.bean; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang.StringUtils; import com.clican.pluto.common.util.PropertyUtils; import com.clican.pluto.dataprocess.engine.ProcessorContext; public class ExecBean { /** * ?IBatisparameterProcessContext?? */ protected String paramName; /** * IBatisInsertUpdate??ListSet?<code>true</code>? * <code>false</code> * */ protected boolean batch; /** * IBatis?<code>ProcessorContext</code>?? */ protected String resultName; /** * Context???????ibatisparam map */ protected Map<String, String> paramNameMap; public String getParamName() { return paramName; } public void setParamName(String paramName) { this.paramName = paramName; } public boolean isBatch() { return batch; } public void setBatch(boolean batch) { this.batch = batch; } public String getResultName() { return resultName; } public void setResultName(String resultName) { this.resultName = resultName; } public Map<String, String> getParamNameMap() { return paramNameMap; } public void setParamNameMap(Map<String, String> paramNameMap) { this.paramNameMap = paramNameMap; } @SuppressWarnings("unchecked") public Object getParam(ProcessorContext context) { try { Object param = context.getMap(); if (StringUtils.isNotEmpty(getParamName())) { param = context.getAttribute(getParamName()); if (param instanceof Map && getParamNameMap() != null && getParamNameMap().size() != 0) { param = new HashMap<String, Object>((Map) param); if (getParamNameMap() != null && getParamNameMap().size() != 0) { for (String contextName : getParamNameMap().keySet()) { Object obj = PropertyUtils.getNestedProperty(param, contextName); ((Map) param).remove(contextName); if (obj != null) { ((Map) param).put(getParamNameMap().get(contextName), obj); } } } } } else { Map<String, Object> map; if (getParamNameMap() != null && getParamNameMap().size() != 0) { map = context.getMap(); for (String contextName : getParamNameMap().keySet()) { Object obj = PropertyUtils.getNestedProperty(map, contextName); map.remove(contextName); if (obj != null) { map.put(getParamNameMap().get(contextName), obj); } } } else { map = context.getMap(); } param = map; } return param; } catch (Exception e) { throw new RuntimeException(e); } } } // $Id: ExecBean.java 12410 2010-05-13 06:55:57Z wei.zhang $