亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
午夜精品久久久久久久久| 久久伊人中文字幕| 亚洲国产精品一区二区久久| 欧美系列亚洲系列| 日韩一区精品视频| 日韩视频一区二区| 国产成人自拍在线| 亚洲欧美偷拍三级| 欧美丰满美乳xxx高潮www| 日本怡春院一区二区| 2023国产精品视频| 91一区二区在线| 亚洲二区在线观看| 精品国产人成亚洲区| 成人18视频日本| 亚洲国产欧美一区二区三区丁香婷| 欧美日韩在线三区| 精品一区二区三区久久久| 国产精品午夜在线观看| 在线欧美日韩国产| 黑人巨大精品欧美一区| 亚洲天堂久久久久久久| 欧美一区二区三区精品| 风流少妇一区二区| 亚洲一区二区三区四区五区中文 | 欧美电影免费观看完整版| 国产精品一线二线三线精华| 成人免费一区二区三区在线观看| 欧美少妇性性性| 国产一区二区精品久久| 亚洲猫色日本管| 精品日韩一区二区| 日本韩国一区二区| 国产乱国产乱300精品| 亚洲黄网站在线观看| 久久久亚洲国产美女国产盗摄 | 狠狠色狠狠色综合| 亚洲精品成人精品456| 欧美videos大乳护士334| 99re这里只有精品6| 九色porny丨国产精品| 樱桃视频在线观看一区| 久久久久久97三级| 欧美精品一卡两卡| 91麻豆swag| 国产乱理伦片在线观看夜一区| 三级欧美在线一区| 亚洲婷婷国产精品电影人久久| 久久亚洲精品小早川怜子| 欧美午夜精品一区二区蜜桃| www.成人网.com| 国产传媒日韩欧美成人| 久久疯狂做爰流白浆xx| 亚洲成人午夜影院| 亚洲欧美一区二区三区极速播放 | 欧美人牲a欧美精品| 91在线视频观看| 成人一区在线观看| 国产在线一区二区| 久久精品国产亚洲5555| 日韩av中文字幕一区二区| 亚洲国产综合色| 国产精品第四页| 国产精品女同一区二区三区| 久久日韩粉嫩一区二区三区 | 制服丝袜一区二区三区| 欧美男男青年gay1069videost| 色欧美88888久久久久久影院| 暴力调教一区二区三区| 成人国产免费视频| 成人激情动漫在线观看| 国产传媒欧美日韩成人| 国产麻豆精品一区二区| 国产一区二区三区在线看麻豆| 蜜桃av一区二区三区| 青娱乐精品视频| 美女脱光内衣内裤视频久久网站| 人人爽香蕉精品| 老司机午夜精品99久久| 久久精品99国产国产精| 九色综合狠狠综合久久| 国产麻豆日韩欧美久久| 岛国av在线一区| 白白色亚洲国产精品| 色哟哟一区二区| 欧美日韩精品一区二区天天拍小说 | 色偷偷一区二区三区| 91久久精品国产91性色tv| 欧美性一级生活| 91麻豆精品国产自产在线| 日韩一区二区电影网| 精品久久久久久久久久久院品网| 精品久久人人做人人爱| 国产亚洲一本大道中文在线| 国产精品女同互慰在线看| 亚洲精品ww久久久久久p站| 亚洲图片欧美视频| 精品在线播放免费| 成人性生交大片免费| 91看片淫黄大片一级| 欧美人牲a欧美精品| 欧美xfplay| 日韩一区有码在线| 图片区日韩欧美亚洲| 久久成人免费网站| 成人性生交大合| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 69久久夜色精品国产69蝌蚪网| 久久蜜臀中文字幕| 一卡二卡欧美日韩| 久久99国产精品久久99果冻传媒| 高清成人免费视频| 欧洲一区在线电影| 久久久亚洲高清| 亚洲成a人片在线不卡一二三区 | 91精品在线免费观看| 国产日韩亚洲欧美综合| 亚洲网友自拍偷拍| 国产成人在线免费观看| 欧美视频一区二区在线观看| 日韩久久久精品| 亚洲免费av高清| 国产美女精品一区二区三区| 欧美在线观看视频一区二区三区| 精品粉嫩超白一线天av| 亚洲欧美激情一区二区| 黑人巨大精品欧美黑白配亚洲| 色诱视频网站一区| 久久久国产午夜精品| 午夜精品免费在线| 91免费视频观看| 久久久久久免费网| 日韩二区三区四区| 色婷婷综合激情| 国产精品二区一区二区aⅴ污介绍| 免费精品视频最新在线| 在线视频中文字幕一区二区| 国产女人18水真多18精品一级做| 蜜桃av一区二区三区| 欧美性生交片4| 中文字幕视频一区| 韩国女主播一区| 91超碰这里只有精品国产| 一区二区欧美国产| 成人av资源站| 国产午夜精品一区二区三区视频| 奇米色一区二区| 欧美日韩精品一区二区三区蜜桃| |精品福利一区二区三区| 国产传媒久久文化传媒| 久久综合av免费| 免费xxxx性欧美18vr| 欧美精品一二三区| 一区二区三区不卡视频| 色噜噜狠狠一区二区三区果冻| 欧美国产国产综合| 国产精品一区二区在线播放 | 免费看日韩精品| 欧美二区三区91| 亚洲一区二区不卡免费| 色8久久精品久久久久久蜜| 国产精品视频一区二区三区不卡 | 国产免费观看久久| 亚洲人成网站影音先锋播放| 国内久久精品视频| 久久这里都是精品| 久久精品99久久久| 欧美成人综合网站| 免费成人你懂的| 日韩一区二区免费电影| 久久99精品国产.久久久久| 欧美变态口味重另类| 韩国成人福利片在线播放| 久久精品亚洲麻豆av一区二区| 国产在线精品免费av| 久久亚洲一区二区三区四区| 国产麻豆一精品一av一免费| 欧美激情中文字幕| 99这里都是精品| 亚洲美女视频在线| 欧美肥妇free| 国产一区二区日韩精品| 久久美女高清视频| caoporn国产精品| 亚洲国产你懂的| 欧美伊人久久久久久午夜久久久久| 自拍偷自拍亚洲精品播放| 日本久久一区二区三区| 视频一区欧美日韩| 精品国产乱码久久久久久闺蜜 | 国产999精品久久| 国产精品国产三级国产普通话99 | 99re成人在线| 亚洲一区二区三区视频在线| 一区二区三区高清在线| 欧美日韩激情一区二区| 国内精品伊人久久久久av影院| 国产精品二三区| 欧美精品一级二级| 国产**成人网毛片九色 |