intra-mart 6.1.14

jp.co.intra_mart.foundation.im_curl
クラス CurlXMLParser

java.lang.Object
  拡張org.xml.sax.helpers.DefaultHandler
      拡張jp.co.intra_mart.foundation.im_curl.CurlXMLParser
すべての実装インタフェース:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class CurlXMLParser
extends DefaultHandler

CurlXMLパーサクラス
機能は以下の通り


フィールドの概要
protected  Object field
          に対応するCurlFieldBean
protected  ArrayList fieldsList
          に対応するCurlFieldBeanクラスのインスタンス格納用リスト
protected  Object instance
          に対応するJavaBeans
protected  ArrayList recordList
          に対応するクラスのインスタンス格納用リスト
 
コンストラクタの概要
CurlXMLParser(InputStream stream, String beanClassName)
          このクラス自身をハンドラとしたSAXパーサを作成し、指定されたInputStreamから取得したXMLを パースします。
CurlXMLParser(String path, String beanClassName)
          このクラス自身をハンドラとしたSAXパーサを作成し、指定されたpathのXMLを パースします。
 
メソッドの概要
protected  void createField(Attributes atts)
          qNameがFieldの場合のパーサの動作を定義します。
protected  void createRecord(Attributes atts)
          qNameがRecordの場合のパーサの動作を定義します。
 void endElement(String uri, String localName, String qName)
          DefaultHandlerのabstractメソッドをオーバーライドします。
 ArrayList getFieldsList()
          パースした結果のフィールド一覧リストを返します。
 ArrayList getRecordList()
          パースした結果のレコード一覧リストを返します。
 void startElement(String uri, String localName, String qName, Attributes atts)
          DefaultHandlerのabstractメソッドをオーバーライドします。
 
クラス org.xml.sax.helpers.DefaultHandler から継承したメソッド
characters, endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

fieldsList

protected ArrayList fieldsList
に対応するCurlFieldBeanクラスのインスタンス格納用リスト


recordList

protected ArrayList recordList
に対応するクラスのインスタンス格納用リスト


field

protected Object field
に対応するCurlFieldBean


instance

protected Object instance
に対応するJavaBeans

コンストラクタの詳細

CurlXMLParser

public CurlXMLParser(String path,
                     String beanClassName)
              throws SAXException
このクラス自身をハンドラとしたSAXパーサを作成し、指定されたpathのXMLを パースします。

パラメータ:
path - パース対象のXMLファイルのパス
beanClassName - パース対象のXMLのRecordタグに対応するJavaBeansクラス名
例外:
SAXException

CurlXMLParser

public CurlXMLParser(InputStream stream,
                     String beanClassName)
              throws SAXException
このクラス自身をハンドラとしたSAXパーサを作成し、指定されたInputStreamから取得したXMLを パースします。

パラメータ:
stream - パース対象のXMLを読み込むストリーム
beanClassName - パース対象のXMLのRecordタグに対応するJavaBeansクラス名
例外:
SAXException
メソッドの詳細

getRecordList

public ArrayList getRecordList()
パースした結果のレコード一覧リストを返します。

戻り値:
レコード一覧

getFieldsList

public ArrayList getFieldsList()
パースした結果のフィールド一覧リストを返します。

戻り値:
フィールド一覧

startElement

public void startElement(String uri,
                         String localName,
                         String qName,
                         Attributes atts)
                  throws SAXException
DefaultHandlerのabstractメソッドをオーバーライドします。
Curlで出力されたXML(elaborate-recordsetでの出力)をパースし、 FieldタグをCurlFieldBeanクラスのリストに、Recordタグを指定したJavaBeans クラスのリストに変換します。処理の詳細は次の通りです。
  1. Fieldタグをパースし、フィールド一覧リストに格納する。
  2. Recordタグのパース
    1. 指定されたJavaBeansクラスのインスタンス生成
    2. Recordタグの属性名、属性値を取得
    3. フィールド一覧リスト内のフィールド名を取得
    4. 指定されたJavaBeansクラスのメソッド一覧を検索しRecordタグの 属性のセッターが存在すればセッターを呼び出し属性値をセットする。 存在の有無は"set"+属性値をすべて小文字に変換した文字列がJavaBeans クラスのメソッド一覧内に存在するかで判断する。

例外:
SAXException

createField

protected void createField(Attributes atts)
qNameがFieldの場合のパーサの動作を定義します。 RecordSetのフィールドを解析する部分になります。

パラメータ:
atts -

createRecord

protected void createRecord(Attributes atts)
                     throws SAXException
qNameがRecordの場合のパーサの動作を定義します。 RecordSetのレコードを解析する部分になります。

パラメータ:
atts -
例外:
SAXException

endElement

public void endElement(String uri,
                       String localName,
                       String qName)
                throws SAXException
DefaultHandlerのabstractメソッドをオーバーライドします。

例外:
SAXException

intra-mart 6.1.14

Copyright © 2000-2010 NTT DATA INTRAMART CO.,LTD.. All Rights Reserved.