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

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

?? xmlparser.java

?? 一個javabean的轉換與copy非常的好用希望大家好好研究一下
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Copyright 2005-2007 the original author or authors.
 *
 * 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 net.sf.dozer.util.mapping.util;

import java.io.IOException;
import java.io.InputStream;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import net.sf.dozer.util.mapping.converters.CustomConverterContainer;
import net.sf.dozer.util.mapping.converters.CustomConverterDescription;
import net.sf.dozer.util.mapping.fieldmap.ClassMap;
import net.sf.dozer.util.mapping.fieldmap.Configuration;
import net.sf.dozer.util.mapping.fieldmap.CopyByReference;
import net.sf.dozer.util.mapping.fieldmap.CopyByReferenceContainer;
import net.sf.dozer.util.mapping.fieldmap.DozerClass;
import net.sf.dozer.util.mapping.fieldmap.ExcludeFieldMap;
import net.sf.dozer.util.mapping.fieldmap.Field;
import net.sf.dozer.util.mapping.fieldmap.FieldMap;
import net.sf.dozer.util.mapping.fieldmap.GenericFieldMap;
import net.sf.dozer.util.mapping.fieldmap.Hint;
import net.sf.dozer.util.mapping.fieldmap.Mappings;

import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;

/**
 * @author garsombke.franz
 */
public class XMLParser implements MapperConstants {

  private static final Logger log = Logger.getLogger(XMLParser.class);

  private final Mappings mappings = new Mappings();

  public Mappings parse(InputStream inputSource) throws SAXException, ParserConfigurationException, IOException,
      ClassNotFoundException {
    DocumentBuilderFactory factory = createDocumentBuilderFactory();
    DocumentBuilder builder = createDocumentBuilder(factory);
    Document document = builder.parse(inputSource);
    Element theRoot = document.getDocumentElement();
    NodeList nl = theRoot.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
      Node node = nl.item(i);
      if (node instanceof Element) {
        Element ele = (Element) node;
        log.info("name: " + ele.getNodeName());
        if (CONFIGURATION_ELEMENT.equals(ele.getNodeName())) {
          parseConfiguration(ele);
        } else if (MAPPING_ELEMENT.equals(ele.getNodeName())) {
          parseMapping(ele);
        }
      }
    }
    return mappings;
  }

  private void parseMapping(Element ele) throws ClassNotFoundException {
    ClassMap classMap = new ClassMap();
    mappings.getMapping().add(classMap);
    if (StringUtils.isNotEmpty(ele.getAttribute(DATE_FORMAT_ATTRIBUTE))) {
      classMap.setDateFormat(ele.getAttribute(DATE_FORMAT_ATTRIBUTE));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(MAP_NULL_ATTRIBUTE))) {
      classMap.setMapNull(BooleanUtils.toBoolean(ele.getAttribute(MAP_NULL_ATTRIBUTE)));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE))) {
      classMap.setMapEmptyString(BooleanUtils.toBoolean(ele.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE)));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(BEAN_FACTORY_ATTRIBUTE))) {
      classMap.setBeanFactory(ele.getAttribute(BEAN_FACTORY_ATTRIBUTE));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(WILDCARD_ATTRIBUTE))) {
      classMap.setWildcard(BooleanUtils.toBoolean(ele.getAttribute(WILDCARD_ATTRIBUTE)));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(STOP_ON_ERRORS_ATTRIBUTE))) {
      classMap.setStopOnErrors(BooleanUtils.toBoolean(ele.getAttribute(STOP_ON_ERRORS_ATTRIBUTE)));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(MAPID_ATTRIBUTE))) {
      classMap.setMapId(ele.getAttribute(MAPID_ATTRIBUTE));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(TYPE_ATTRIBUTE))) {
      classMap.setType(ele.getAttribute(TYPE_ATTRIBUTE));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(IS_ACCESSIBLE_ATTRIBUTE))) {
      classMap.setAccessible(BooleanUtils.toBoolean(ele.getAttribute(IS_ACCESSIBLE_ATTRIBUTE)));
    }
    NodeList nl = ele.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
      Node node = nl.item(i);
      if (node instanceof Element) {
        Element element = (Element) node;
        log.info("config name: " + element.getNodeName());
        log.info("  value: " + element.getFirstChild().getNodeValue());
        if (CLASS_A_ELEMENT.equals(element.getNodeName())) {
          DozerClass source = new DozerClass();
          source.setName(element.getFirstChild().getNodeValue().trim());
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_GET_METHOD_ATTRIBUTE))) {
            source.setMapGetMethod(element.getAttribute(MAP_GET_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_SET_METHOD_ATTRIBUTE))) {
            source.setMapSetMethod(element.getAttribute(MAP_SET_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(BEAN_FACTORY_ATTRIBUTE))) {
            source.setBeanFactory(element.getAttribute(BEAN_FACTORY_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(FACTORY_BEANID_ATTRIBUTE))) {
            source.setFactoryBeanId(element.getAttribute(FACTORY_BEANID_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(CREATE_METHOD_ATTRIBUTE))) {
            source.setCreateMethod(element.getAttribute(CREATE_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_NULL_ATTRIBUTE))) {
            source.setMapNull(Boolean.valueOf(element.getAttribute(MAP_NULL_ATTRIBUTE)));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE))) {
            source.setMapEmptyString(Boolean.valueOf(element.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE)));
          }
          classMap.setSourceClass(source);
        }
        if (CLASS_B_ELEMENT.equals(element.getNodeName())) {
          DozerClass dest = new DozerClass();
          dest.setName(element.getFirstChild().getNodeValue().trim());
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_GET_METHOD_ATTRIBUTE))) {
            dest.setMapGetMethod(element.getAttribute(MAP_GET_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_SET_METHOD_ATTRIBUTE))) {
            dest.setMapSetMethod(element.getAttribute(MAP_SET_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(BEAN_FACTORY_ATTRIBUTE))) {
            dest.setBeanFactory(element.getAttribute(BEAN_FACTORY_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(FACTORY_BEANID_ATTRIBUTE))) {
            dest.setFactoryBeanId(element.getAttribute(FACTORY_BEANID_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(CREATE_METHOD_ATTRIBUTE))) {
            dest.setCreateMethod(element.getAttribute(CREATE_METHOD_ATTRIBUTE));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_NULL_ATTRIBUTE))) {
            dest.setMapNull(Boolean.valueOf(element.getAttribute(MAP_NULL_ATTRIBUTE)));
          }
          if (StringUtils.isNotEmpty(element.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE))) {
            dest.setMapEmptyString(Boolean.valueOf(element.getAttribute(MAP_EMPTY_STRING_ATTRIBUTE)));
          }
          classMap.setDestClass(dest);
        }
        if (FIELD_ELEMENT.equals(element.getNodeName())) {
          parseGenericFieldMap(element, classMap);
        } else if (FIELD_EXCLUDE_ELEMENT.equals(element.getNodeName())) {
          parseFieldExcludeMap(element, classMap);
        }
      }
    }
  }

  private void parseFieldExcludeMap(Element ele, ClassMap classMap) {
    ExcludeFieldMap efm = new ExcludeFieldMap();
    if (StringUtils.isNotEmpty(ele.getAttribute(TYPE_ATTRIBUTE))) {
      efm.setType(ele.getAttribute(TYPE_ATTRIBUTE));
    }
    classMap.addFieldMapping(efm);
    NodeList nl = ele.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
      Node node = nl.item(i);
      if (node instanceof Element) {
        Element element = (Element) node;
        log.info("config name: " + element.getNodeName());
        log.info("  value: " + element.getFirstChild().getNodeValue());
        parseFieldElements(element, efm);
      }
    }
  }

  private void parseFieldElements(Element element, FieldMap fieldMap) {
    if (A_ELEMENT.equals(element.getNodeName())) {
      fieldMap.setSourceField(parseField(element));
    }
    if (B_ELEMENT.equals(element.getNodeName())) {
      fieldMap.setDestField(parseField(element));
    }
  }

  private void parseGenericFieldMap(Element ele, ClassMap classMap) {
    GenericFieldMap gfm = new GenericFieldMap();
    classMap.addFieldMapping(gfm);
    if (StringUtils.isNotEmpty(ele.getAttribute(COPY_BY_REFERENCE_ATTRIBUTE))) {
      gfm.setCopyByReference(BooleanUtils.toBoolean(ele.getAttribute(COPY_BY_REFERENCE_ATTRIBUTE)));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(MAPID_ATTRIBUTE))) {
      gfm.setMapId(ele.getAttribute(MAPID_ATTRIBUTE));
    }
    if (StringUtils.isNotEmpty(ele.getAttribute(TYPE_ATTRIBUTE))) {
      gfm.setType(ele.getAttribute(TYPE_ATTRIBUTE));
    }
    parseFieldMap(ele, gfm);
  }

  private void parseFieldMap(Element ele, GenericFieldMap fieldMap) {
    if (StringUtils.isNotEmpty(ele.getAttribute(RELATIONSHIP_TYPE_ATTRIBUTE))) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久九九国产精品| 91成人在线精品| 久久一日本道色综合| 精品一区二区精品| 日韩精品专区在线影院观看| 毛片一区二区三区| www成人在线观看| 国产不卡在线一区| 国产精品国模大尺度视频| 一本大道av伊人久久综合| 亚洲一区av在线| 欧美日本在线视频| 久久99精品视频| 国产精品久久久久永久免费观看| 99久久精品免费看国产| 亚洲福利视频一区| 欧美成人在线直播| 成人黄色在线看| 午夜电影网亚洲视频| 日韩免费在线观看| av在线一区二区| 亚洲高清久久久| 久久久久国产精品人| 色噜噜狠狠成人网p站| 日日噜噜夜夜狠狠视频欧美人| 精品欧美乱码久久久久久| 99久久国产综合精品色伊| 日av在线不卡| 成人免费在线观看入口| 7799精品视频| 成人h动漫精品一区二区| 亚洲h动漫在线| 国产欧美精品一区二区色综合| 欧美色偷偷大香| 国产精品中文字幕日韩精品| 伊人色综合久久天天| 欧美mv日韩mv亚洲| 一本大道av一区二区在线播放| 久久成人免费网站| 一区二区不卡在线播放| 欧美精品一区二区在线观看| 欧美优质美女网站| 精品亚洲国内自在自线福利| 亚洲免费av高清| 久久精品免费在线观看| 在线观看欧美精品| 国产a视频精品免费观看| 日韩在线一区二区| 亚洲欧美精品午睡沙发| 欧美精品一区二区久久久| 欧美性做爰猛烈叫床潮| 国产高清亚洲一区| 免费在线一区观看| 亚洲乱码精品一二三四区日韩在线| 精品日本一线二线三线不卡| 欧美狂野另类xxxxoooo| 色悠久久久久综合欧美99| 国产盗摄精品一区二区三区在线 | 亚洲一线二线三线视频| 26uuu精品一区二区| 欧美日韩国产成人在线免费| 色老汉av一区二区三区| 波多野结衣91| 国产福利一区二区三区视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲一区二区中文在线| 综合欧美一区二区三区| 中文久久乱码一区二区| 久久夜色精品一区| 26uuu国产在线精品一区二区| 91精品国产免费久久综合| 欧美三级午夜理伦三级中视频| 91污在线观看| av激情亚洲男人天堂| 成人性生交大片免费看在线播放 | 精品久久久久久久久久久久包黑料 | 国产一区二区三区四区五区美女 | 亚洲第一av色| 亚洲综合免费观看高清完整版 | 91麻豆精品国产自产在线| 在线免费亚洲电影| 欧美系列亚洲系列| 欧美三级一区二区| 3d成人动漫网站| 欧美一二三区在线| 日韩精品一区二| 精品盗摄一区二区三区| 26uuu久久综合| 国产亚洲视频系列| 日本一区二区三区国色天香| 中文欧美字幕免费| 最新不卡av在线| 亚洲综合区在线| 五月婷婷综合网| 久久99这里只有精品| 国产一区二区日韩精品| 成人一区在线看| 91香蕉视频污在线| 欧美乱妇15p| 欧美成人video| 中文字幕国产一区| 亚洲黄一区二区三区| 首页国产欧美久久| 国产呦精品一区二区三区网站| 成人av电影免费在线播放| 在线视频综合导航| 日韩一二在线观看| 国产午夜一区二区三区| 亚洲欧洲中文日韩久久av乱码| 一区二区成人在线视频| 毛片一区二区三区| fc2成人免费人成在线观看播放 | 色老综合老女人久久久| 在线播放国产精品二区一二区四区| 日韩一区二区精品在线观看| 欧美高清在线视频| 亚洲国产精品久久人人爱| 久久aⅴ国产欧美74aaa| 色综合久久久久久久久| 7777精品伊人久久久大香线蕉的 | 中文字幕中文字幕一区二区| 亚洲无线码一区二区三区| 国产自产v一区二区三区c| 色综合中文字幕国产| 日韩美女视频一区二区在线观看| 国产精品你懂的在线| 日韩中文字幕麻豆| 97久久超碰国产精品| 欧美一区二区三区播放老司机 | 亚洲日本在线a| 美日韩一区二区| 91麻豆视频网站| 精品成人一区二区三区| 亚洲激情图片小说视频| 韩国av一区二区三区四区| 成人不卡免费av| 欧美xxxx在线观看| 亚洲1区2区3区4区| 成人国产精品免费网站| 日韩亚洲欧美在线| 亚洲一级电影视频| av不卡免费电影| 久久久精品综合| 蜜臀av一区二区三区| 在线精品视频一区二区| 中文字幕av一区 二区| 久久99精品久久只有精品| 欧美日韩你懂得| 亚洲欧美日韩成人高清在线一区| 国产美女精品在线| 欧美一区日本一区韩国一区| 一区二区高清免费观看影视大全| 成人一级黄色片| 国产丝袜欧美中文另类| 免费成人在线网站| 欧美嫩在线观看| 亚洲大片精品永久免费| 欧洲国内综合视频| 亚洲精品中文字幕乱码三区| 99热这里都是精品| 中文字幕一区二区不卡| 成人激情动漫在线观看| 亚洲国产精品高清| 国产成人亚洲综合a∨猫咪| 久久久亚洲高清| 国产一区二区网址| 国产欧美一区二区精品性色超碰| 久久草av在线| 久久久不卡网国产精品二区| 精品亚洲欧美一区| 日本一区二区三区高清不卡| 丰满放荡岳乱妇91ww| 中文字幕一区二区三| 91久久精品一区二区二区| 亚洲欧美色图小说| 在线观看三级视频欧美| 亚洲已满18点击进入久久| 欧美人xxxx| 蜜桃视频一区二区三区| 欧美mv和日韩mv的网站| 国产精品一二三四五| 亚洲国产精品黑人久久久| 99久久久免费精品国产一区二区| 亚洲免费观看高清| 欧美二区三区91| 免费精品视频在线| 国产亲近乱来精品视频| 成人小视频免费观看| 亚洲精品视频在线看| 91.com在线观看| 国产一区二区三区免费播放 | 91色九色蝌蚪| 亚洲一区二区三区三| 日韩欧美一二三| 成人妖精视频yjsp地址| 亚洲一二三四区| 精品国产一区二区三区四区四| 粉嫩aⅴ一区二区三区四区| 亚洲视频在线观看一区| 欧美高清视频www夜色资源网|