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 }