亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? javabeandataexchange.java

?? 本套系統采用了業界當前最為流行的beanAction組件
?? JAVA
字號:
/*
 *  Copyright 2004 Clinton Begin
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.ibatis.sqlmap.engine.exchange;


import com.ibatis.sqlmap.engine.accessplan.AccessPlan;
import com.ibatis.sqlmap.engine.accessplan.AccessPlanFactory;
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMap;
import com.ibatis.sqlmap.engine.mapping.parameter.ParameterMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultMap;
import com.ibatis.sqlmap.engine.mapping.result.ResultMapping;
import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactoryUtil;
import com.ibatis.sqlmap.engine.scope.ErrorContext;
import com.ibatis.sqlmap.engine.scope.RequestScope;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * DataExchange implementation for beans
 */
public class JavaBeanDataExchange extends BaseDataExchange implements DataExchange {

  private static final Object[] NO_DATA = new Object[0];

  private AccessPlan resultPlan;
  private AccessPlan parameterPlan;
  private AccessPlan outParamPlan;

  protected JavaBeanDataExchange(DataExchangeFactory dataExchangeFactory) {
    super(dataExchangeFactory);
  }

  /**
   * Initializes the data exchange instance.
   *
   * @param properties
   */
  public void initialize(Map properties) {
    Object map = properties.get("map");
    if (map instanceof ParameterMap) {
      ParameterMap parameterMap = (ParameterMap) map;
      if (parameterMap != null) {
        ParameterMapping[] parameterMappings = parameterMap.getParameterMappings();
        String[] parameterPropNames = new String[parameterMappings.length];
        for (int i = 0; i < parameterPropNames.length; i++) {
          parameterPropNames[i] = parameterMappings[i].getPropertyName();
        }
        parameterPlan = AccessPlanFactory.getAccessPlan(parameterMap.getParameterClass(), parameterPropNames);

        // OUTPUT PARAMS
        List outParamList = new ArrayList();
        for (int i = 0; i < parameterPropNames.length; i++) {
          if (parameterMappings[i].isOutputAllowed()) {
            outParamList.add(parameterMappings[i].getPropertyName());
          }
        }
        String[] outParams = (String[]) outParamList.toArray(new String[outParamList.size()]);
        outParamPlan = AccessPlanFactory.getAccessPlan(parameterMap.getParameterClass(), outParams);
      }

    } else if (map instanceof ResultMap) {
      ResultMap resultMap = (ResultMap) map;
      if (resultMap != null) {
        ResultMapping[] resultMappings = resultMap.getResultMappings();
        String[] resultPropNames = new String[resultMappings.length];
        for (int i = 0; i < resultPropNames.length; i++) {
          resultPropNames[i] = resultMappings[i].getPropertyName();
        }
        resultPlan = AccessPlanFactory.getAccessPlan(resultMap.getResultClass(), resultPropNames);
      }
    }
  }

  public Object[] getData(RequestScope request, ParameterMap parameterMap, Object parameterObject) {
    if (parameterPlan != null) {
      return parameterPlan.getProperties(parameterObject);
    } else {
      return NO_DATA;
    }
  }

  public Object setData(RequestScope request, ResultMap resultMap, Object resultObject, Object[] values) {
    if (resultPlan != null) {
      Object object = resultObject;

      ErrorContext errorContext = request.getErrorContext();

      if (object == null) {
        errorContext.setMoreInfo("The error occured while instantiating the result object");
        try {
          object = ResultObjectFactoryUtil.createObjectThroughFactory(resultMap.getResultClass());
        } catch (Exception e) {
          throw new RuntimeException("JavaBeansDataExchange could not instantiate result class.  Cause: " + e, e);
        }
      }
      errorContext.setMoreInfo("The error happened while setting a property on the result object.");
      resultPlan.setProperties(object, values);
      return object;
    } else {
      return null;
    }
  }

  // Bug ibatis-12
  public Object setData(RequestScope request, ParameterMap parameterMap, Object parameterObject, Object[] values) {
    if (outParamPlan != null) {
      Object object = parameterObject;
      if (object == null) {
        try {
          object = ResultObjectFactoryUtil.createObjectThroughFactory(parameterMap.getParameterClass());
        } catch (Exception e) {
          throw new RuntimeException("JavaBeansDataExchange could not instantiate parameter class. Cause: " + e, e);
        }
      }
      values = getOutputParamValues(parameterMap.getParameterMappings(), values);
      outParamPlan.setProperties(object, values);
      return object;
    } else {
      return null;
    }
  }

  private Object[] getOutputParamValues(ParameterMapping[] mappings, Object[] values) {
    List outParamValues = new ArrayList();
    for (int i = 0; i < mappings.length; i++) {
      if (mappings[i].isOutputAllowed()) {
        outParamValues.add(values[i]);
      }
    }
    return outParamValues.toArray();
  }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品天堂| 亚洲成人在线免费| 国产一区二区影院| 精品噜噜噜噜久久久久久久久试看| 亚洲欧美日韩系列| 在线观看欧美精品| 一区二区三区日韩| 精品视频一区二区三区免费| 亚洲国产精品麻豆| 欧美熟乱第一页| 一区二区三区欧美日韩| 3atv在线一区二区三区| 日韩高清在线观看| 日韩欧美二区三区| 成人免费观看av| 亚洲色图一区二区三区| 91视频在线看| 日韩激情一二三区| 日韩欧美一级精品久久| 日本人妖一区二区| 久久蜜臀中文字幕| www.日韩精品| 一区二区三区电影在线播| 91精品国产综合久久精品图片| 肉肉av福利一精品导航| 日韩欧美国产wwwww| 99久久99久久久精品齐齐| 一区二区三区欧美久久| 欧美一区二区性放荡片| 国产69精品一区二区亚洲孕妇| 国产精品网站在线播放| 色妹子一区二区| 国精产品一区一区三区mba桃花| 久久久久久久久久久久久女国产乱 | 一区二区国产盗摄色噜噜| 91久久国产最好的精华液| 热久久一区二区| 国产精品久久久久一区二区三区| 欧美中文字幕亚洲一区二区va在线 | av亚洲精华国产精华精| 三级不卡在线观看| 亚洲国产电影在线观看| 欧美亚洲尤物久久| 成人a级免费电影| 亚洲国产精品综合小说图片区| 日韩欧美国产综合| 在线视频综合导航| 国内久久婷婷综合| 亚洲精品视频在线看| 久久精品这里都是精品| 在线精品亚洲一区二区不卡| 国精产品一区一区三区mba桃花| 亚洲国产成人av| 国产精品女同一区二区三区| 91精品国产综合久久福利| 91麻豆6部合集magnet| 久久草av在线| 亚洲精品免费电影| 国产精品乱码人人做人人爱 | 欧美一区二区三区在线观看 | 欧美在线小视频| 国产一区二区三区精品视频| 亚洲国产精品久久人人爱蜜臀| 国产精品传媒视频| 久久人人超碰精品| 69堂国产成人免费视频| 色美美综合视频| 成人高清av在线| 久久成人av少妇免费| 亚洲成av人片在线观看无码| 亚洲欧洲精品天堂一级| 日韩三级电影网址| 欧美日韩国产一级片| 国产成人在线视频网址| 久久精品免费看| 青青国产91久久久久久| 天天综合天天综合色| 亚洲欧洲精品一区二区三区| 久久精品欧美一区二区三区不卡| 精品国产乱码久久久久久免费 | 91福利国产精品| 91首页免费视频| 97国产一区二区| 成人午夜碰碰视频| 成人a免费在线看| 夫妻av一区二区| 国产91富婆露脸刺激对白| 丁香六月综合激情| 国产精品自在在线| 国产自产视频一区二区三区| 国产精一品亚洲二区在线视频| 久久精品国产亚洲aⅴ| 天堂一区二区在线| 日本成人中文字幕在线视频| 肉色丝袜一区二区| 国产精品久久99| 亚洲人妖av一区二区| 国产精品久久一级| 精品日韩99亚洲| 久久日韩粉嫩一区二区三区 | 亚洲电影视频在线| 亚洲一线二线三线久久久| 一区二区三区在线观看动漫| 亚洲成人av一区二区| 亚洲自拍欧美精品| 亚洲免费观看在线视频| 婷婷久久综合九色国产成人| 婷婷综合在线观看| 亚洲一区二区三区美女| 日韩精品一二三区| 韩国成人精品a∨在线观看| 美女视频黄免费的久久| 国内精品写真在线观看| 国产91精品露脸国语对白| 欧美色精品天天在线观看视频| 欧美日韩一级黄| 日韩欧美成人激情| 亚洲人成小说网站色在线| 亚洲成人精品影院| 日韩精品一级二级 | 免费人成网站在线观看欧美高清| 亚洲国产精品影院| 国产盗摄视频一区二区三区| 色综合久久中文字幕| 欧美三级电影精品| 欧美变态凌虐bdsm| 中文字幕一区二区三区在线不卡 | 国产日韩欧美精品一区| 亚洲人精品午夜| 美女mm1313爽爽久久久蜜臀| a在线欧美一区| 777奇米成人网| 日韩亚洲欧美综合| 亚洲精品日韩一| 久久精品999| 成人动漫一区二区| 在线播放一区二区三区| 日本一区二区三区久久久久久久久不| 亚洲第一会所有码转帖| 国产成人在线看| 欧美日韩国产首页| 亚洲婷婷综合色高清在线| 日本强好片久久久久久aaa| 成人av免费观看| 欧美精品一区二区精品网| 亚洲男帅同性gay1069| 亚洲成人黄色小说| 色综合色狠狠综合色| 久久美女高清视频 | 亚洲成a人在线观看| 成人免费视频视频在线观看免费| 欧美日韩精品一区二区天天拍小说 | 亚洲男人的天堂在线观看| 精品无人码麻豆乱码1区2区 | 美女视频黄a大片欧美| 91精品1区2区| 亚洲天堂福利av| 国产盗摄视频一区二区三区| 91精选在线观看| 亚洲1区2区3区4区| 91视频国产资源| 国产午夜精品久久久久久免费视| 久久精品国产一区二区三| 欧美日韩亚洲国产综合| 亚洲图片另类小说| 色一情一伦一子一伦一区| 久久精品视频在线看| 一个色妞综合视频在线观看| 色呦呦国产精品| 国产精品美女一区二区三区 | 裸体在线国模精品偷拍| 欧美三级三级三级爽爽爽| 中文字幕一区视频| 95精品视频在线| 中文字幕中文乱码欧美一区二区| 自拍视频在线观看一区二区| 色诱亚洲精品久久久久久| 精品一区二区影视| 国产精品日产欧美久久久久| 99国产欧美另类久久久精品| 亚洲裸体在线观看| 中文一区二区完整视频在线观看| 欧美日韩高清影院| 91精品中文字幕一区二区三区| 久久99精品视频| 亚洲欧美电影一区二区| 日韩女优视频免费观看| 91麻豆精品国产91久久久久| 国产一区啦啦啦在线观看| 国产精品久久久久久亚洲毛片| 日韩av一区二区在线影视| 亚洲一区在线观看视频| 国产成人在线看| 日韩精品一区国产麻豆| 午夜精品一区二区三区电影天堂 | 色88888久久久久久影院按摩| 狠狠色2019综合网| 成人免费视频一区二区| 欧美久久久久久久久久| 精品国产一区二区三区久久影院|