OSDN Git Service

99ba49ae6cc42f0ac76f71650ef532c0ba5ada08
[jovsonz/Jovsonz.git] / src / main / java / jp / sourceforge / jovsonz / ValueVisitor.java
1 /*
2  * JSON value visitor
3  *
4  * License : The MIT License
5  * Copyright(c) 2009 olyutorskii
6  */
7
8 package jp.sourceforge.jovsonz;
9
10 /**
11  * JSONツリー上の各Valueへの深さ優先ビジター共通インタフェース。
12  */
13 public interface ValueVisitor {
14
15     /**
16      * Value登場の通知を受け取る。
17      * @param value JSON Value
18      * @throws JsVisitException ビジターがトラバース中止を判断した際に
19      * 投げられる。
20      */
21     void visitValue(JsValue value) throws JsVisitException;
22
23     /**
24      * OBJECT型内部のPAIR名登場の通知を受け取る。
25      * PAIRの示すValueの出現する直前に通知が行われる。
26      * @param pairName PAIR名
27      * @throws JsVisitException ビジターがトラバース中止を判断した際に
28      * 投げられる。
29      */
30     void visitPairName(String pairName) throws JsVisitException;
31
32     /**
33      * 括弧構造終了の通知を受け取る。
34      * <p>括弧構造を持つJSON型は、OBJECT型かARRAY型のみ。</p>
35      * @param composition OBJECT型かARRAY型のいずれかのValue
36      * @throws JsVisitException ビジターがトラバース中止を判断した際に
37      * 投げられる。
38      */
39     void visitCompositionClose(JsComposition composition)
40             throws JsVisitException;
41
42 }