001 /* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016 package org.opengion.fukurou.xml; 017 018 /** 019 * ã“ã?クラスã¯ã€HybsXMLHandler ã«è¨å®šã™ã‚?Listener インターフェースã§ã™ã? 020 * ã“れã¯ã€HybsXMLHandler#setTagElementListener( TagElementListener ) ã™ã‚‹ã“ã¨ã§ã€? 021 * ROW 毎㫠å†?ƒ¨æƒ??ã‚?TagElement オブジェクト化ã—ã?action( TagElement ) 022 * ãŒå‘¼ã³å‡ºã•れã¾ã™ã?ã“ã? Listener を介ã—ã¦ã€?¼‘レコードãšã¤å‡¦ç?™ã‚‹ã“ã¨ã? 023 * å¯èƒ½ã§ã™ã? 024 * 025 * ã“ã? Listener ã‚?implements ã—ãŸã‚¯ãƒ©ã‚¹ã‚’å?別ã«ä½œæ?ã™ã‚‹ã“ã¨ã§ã€? 026 * XML処ç?‚’ã€ã?ラグインå¯èƒ½ã«ã—ã¾ã™ã? 027 * 028 * @version 4.0 029 * @author Kazuhiko Hasegawa 030 * @since JDK5.0, 031 */ 032 public interface TagElementListener { 033 034 /** 035 * <ROWSET> ã‚¿ã‚°ã®ä¸?•ªæœ??ã«å‘¼ã³å‡ºã•れã¾ã™ã? 036 * ROWSET ã®å±žæ?ã§ã‚ã‚‹ã€table 属æ?ã¨ã€dbid 属æ? ã‚’ã?TagElement ã® 037 * get メソãƒ?ƒ‰ã§å–å¾—ã§ãã¾ã™ã? 038 * å–得時ã®ã‚ーã¯ã€ãれãžã‚Œã?"TABLE" 㨠"DBID" ã§ã™ã? 039 * 040 * @param tag タグエレメンãƒ? 041 * @see org.opengion.fukurou.xml.TagElement 042 * @see HybsXMLHandler#setTagElementListener( TagElementListener ) 043 */ 044 void actionInit( TagElement tag ) ; 045 046 /** 047 * <ROW> ã‚¿ã‚°ã® endElement 処ç?¯Žã«å‘¼ã³å‡ºã•れã¾ã™ã? 048 * ã“ã? Listener ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€è¡Œãƒ‡ãƒ¼ã‚¿ã‚’å–å¾—é?度ã€? 049 * TagElement オブジェクトを作æ?ã—ã?ã“ã?メソãƒ?ƒ‰ãŒå‘¼ã³å‡ºã•れã¾ã™ã? 050 * 051 * @param tag タグエレメンãƒ? 052 * @see org.opengion.fukurou.xml.TagElement 053 * @see HybsXMLHandler#setTagElementListener( TagElementListener ) 054 */ 055 void actionRow( TagElement tag ) ; 056 057 /** 058 * <EXEC_SQL> ã‚¿ã‚°ã® endElement 処ç?¯Žã«å‘¼ã³å‡ºã•れã¾ã™ã? 059 * getBody メソãƒ?ƒ‰ã‚’使用ã—ã¦ã€ã“ã®ã‚¿ã‚°ã®BODYéƒ¨ã®æ–?—å?ã‚’å–å¾—ã—ã¾ã™ã? 060 * ã“ã? Listener ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€EXEC_SQL ãƒ??ã‚¿ã‚’å–å¾—é?度ã€? 061 * TagElement オブジェクトを作æ?ã—ã?ã“ã?メソãƒ?ƒ‰ãŒå‘¼ã³å‡ºã•れã¾ã™ã? 062 * 063 * @param tag タグエレメンãƒ? 064 * @see org.opengion.fukurou.xml.TagElement 065 * @see HybsXMLHandler#setTagElementListener( TagElementListener ) 066 */ 067 void actionExecSQL( TagElement tag ) ; 068 069 /** 070 * <MERGE_SQL> ã‚¿ã‚°ã® endElement 処ç?™‚ã«å‘¼ã³å‡ºã•れã¾ã™ã? 071 * getBody メソãƒ?ƒ‰ã‚’使用ã—ã¦ã€ã“ã®ã‚¿ã‚°ã®BODYéƒ¨ã®æ–?—å?ã‚’å–å¾—ã—ã¾ã™ã? 072 * MERGE_SQLã‚¿ã‚°ã¯ã€ã?ージ処ç?—ãŸã„ãƒ??タ部よりも上ä½ã«è¨˜è¿°ã—ã¦ãŠã 073 * å¿?¦ãŒã‚りã¾ã™ãŒã€ä¸é–“部ã«è¨˜è¿°ã—ã¦ã‚‚æ§‹ã„ã¾ã›ã‚“。ãŸã?—ã€?¼‘回ã®ã¿ã§ã™ã? 074 * ã“ã?ã‚¿ã‚°ãŒç¾ã‚Œã‚‹ã¾ã§ã¯ã€INSERT ã®ã¿å®Ÿè¡Œã•れã¾ã™ã?ã“ã?タグ以é™ã?ã€? 075 * ä¸?—¦ UPDATE ã—ã?çµæžœã??ä»¶ã®å ´åˆã?ã€INSERTã™ã‚‹æµã‚Œã«ãªã‚Šã¾ã™ã? 076 * 完å?ã« INSERT ã®ã¿ã§ã‚ã‚‹ãƒ??ã‚¿ã‚’å‰åŠã«ã€UPDATE/INSERTを行ㆠ077 * ãƒ??タを後åŠã«ã€ãã®é–“ã«ã€MERGE_SQL ã‚¿ã‚°ã‚’å?れるã“ã¨ã§ã€ç„¡æ„味㪠078 * UPDATE ã‚’é¿ã‘ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã? 079 * ã“ã? Listener ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€MERGE_SQL ãƒ??ã‚¿ã‚’å–å¾—é?度ã€? 080 * TagElement オブジェクトを作æ?ã—ã?ã“ã?メソãƒ?ƒ‰ãŒå‘¼ã³å‡ºã•れã¾ã™ã? 081 * 082 * @param tag タグエレメンãƒ? 083 * @see org.opengion.fukurou.xml.TagElement 084 * @see HybsXMLHandler#setTagElementListener( TagElementListener ) 085 */ 086 void actionMergeSQL( TagElement tag ) ; 087 }