content: package com.alibaba.tamper.core.process;
  
  import java.io.Serializable;
  import java.util.Map;
  
  import com.alibaba.tamper.core.BeanMappingParam;
  import com.alibaba.tamper.core.config.BeanMappingField;
  import com.alibaba.tamper.core.config.BeanMappingObject;
  import com.alibaba.tamper.core.helper.BatchObjectHolder;
  
  /**
   * ValueProcess处理的上下文，允许ValueProcess基于context进行自定义的处理
   * 
   * @author jianghang 2011-5-27 下午09:01:39
   */
  public class ValueProcessContext implements Serializable {
  
      private static final long serialVersionUID = 5690443269510349965L;
      private BeanMappingParam  param;
      private BeanMappingObject beanObject;
      private BeanMappingField  currentField;
      private BatchObjectHolder holder;
      private Map               custom;                                 // 允许自定义的context
  
      public ValueProcessContext(BeanMappingParam param, BeanMappingObject object, BeanMappingField field,
                                 BatchObjectHolder holder){
          this(param, object, field, holder, null);
      }
  
      public ValueProcessContext(BeanMappingParam param, BeanMappingObject object, BeanMappingField field,
                                 BatchObjectHolder holder, Map customContext){
          this.param = param;
          this.beanObject = object;
          this.currentField = field;
          this.holder = holder;
          this.custom = customContext;
      }
  
      public BeanMappingParam getParam() {
          return param;
      }
  
      public void setParam(BeanMappingParam param) {
          this.param = param;
      }
  
      public BeanMappingObject getBeanObject() {
          return beanObject;
      }
  
      public void setBeanObject(BeanMappingObject beanObject) {
          this.beanObject = beanObject;
      }
  
      public BeanMappingField getCurrentField() {
          return currentField;
      }
  
      public void setCurrentField(BeanMappingField currentField) {
          this.currentField = currentField;
      }
  
      public BatchObjectHolder getHolder() {
          return holder;
      }
  
      public void setHolder(BatchObjectHolder holder) {
          this.holder = holder;
      }
  
      public Map getCustom() {
          return custom;
      }
  
      public void setCustom(Map custom) {
          this.custom = custom;
      }
  
  }
  