root/as3/sain/trank/src/org/libspark/mezumona/sain/handler/WrapperHandler.as

リビジョン 4527, 3.4 kB (コミッタ: mezumona, コミット時期: 2 年 前)
  • パラメーター代入行のコメントに ; が含まれているとコメントの範囲がずれるバグを修正
  • トークン処理をフィルターするクラス (WrapperHandler?) を追加
  • 複数行値を代入できるフィルター (MultilineValueHandler?) を追加
Line 
1 package org.libspark.mezumona.sain.handler
2 {
3         import org.libspark.mezumona.sain.SAINParseError;
4
5
6
7 /**
8  * WrapperHandler クラスは...クラスです.
9  */
10 public class WrapperHandler extends DefaultHandler
11 {
12         /*/////////////////////////////////////////////////////////////////////////////////////////////
13                 Constants
14         /////////////////////////////////////////////////////////////////////////////////////////////*/
15
16        
17
18
19
20         /*/////////////////////////////////////////////////////////////////////////////////////////////
21                 Constructor / Destructor
22         /////////////////////////////////////////////////////////////////////////////////////////////*/
23
24         /**
25          * WrapperHandler オブジェクトを生成します.
26          */
27         public function WrapperHandler(content:IContentHandler, error:IErrorHandler = null)
28         {
29                 if (error == null) {
30                         if (!(content is IErrorHandler)) {
31                                 throw new ArgumentError(
32                                         "error が省略された場合、content は IErrorHandler を実装する必要があります。"
33                                 );
34                         }
35                         error = content as IErrorHandler;
36                 }
37
38                 contentHandler_ = content;
39                 errorHandler_ = error;
40         }
41
42
43
44         /*/////////////////////////////////////////////////////////////////////////////////////////////
45                 Properties (& Public Fields)
46         /////////////////////////////////////////////////////////////////////////////////////////////*/
47
48         /**
49          * 実際に処理させる IContentHandler を実装したオブジェクトです.
50          */
51         protected function get contentHandler$():IContentHandler { return contentHandler_; }
52
53         /**
54          * 実際に処理させる IErrorHandler を実装したオブジェクトです.
55          */
56         protected function get errorHandler$():IErrorHandler { return errorHandler_; }
57
58
59
60         /*/////////////////////////////////////////////////////////////////////////////////////////////
61                 Methods
62         /////////////////////////////////////////////////////////////////////////////////////////////*/
63
64         // IContentHandler
65         // --------------------------------------------------------------------------------------------
66
67         /** @inheritDoc */
68         override public function startContent():void
69         {
70                 contentHandler$.startContent();
71         }
72
73         /** @inheritDoc */
74         override public function endContent():void
75         {
76                 contentHandler$.endContent();
77         }
78
79         /** @inheritDoc */
80         override public function startSection(name:String):void
81         {
82                 contentHandler$.startSection(name);
83         }
84
85         /** @inheritDoc */
86         override public function endSection(name:String):void
87         {
88                 contentHandler$.endSection(name);
89         }
90
91         /** @inheritDoc */
92         override public function setParameter(name:String, value:String):void
93         {
94                 contentHandler$.setParameter(name, value);
95         }
96
97         /** @inheritDoc */
98         override public function comment(data:String):void
99         {
100                 contentHandler$.comment(data);
101         }
102
103         // IErrorHandler
104         // --------------------------------------------------------------------------------------------
105
106         /** @inheritDoc */
107         override public function error(info:SAINParseError):void
108         {
109                 errorHandler$.error(info);
110         }
111
112         /** @inheritDoc */
113         override public function fatalError(info:SAINParseError):void
114         {
115                 errorHandler$.fatalError(info);
116         }
117
118         /** @inheritDoc */
119         override public function warning(info:SAINParseError):void
120         {
121                 errorHandler$.warning(info);
122         }
123
124
125
126         /*/////////////////////////////////////////////////////////////////////////////////////////////
127                 Private Fields
128         /////////////////////////////////////////////////////////////////////////////////////////////*/
129
130         private var contentHandler_:IContentHandler;
131         private var errorHandler_:IErrorHandler;
132
133
134
135 }
136
137 }
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。