OSDN Git Service

start v1.101.107-SNAPSHOT
[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      *
18      * @param value JSON Value
19      * @throws JsVisitException ビジターがトラバース中止を判断した際に
20      *  投げられる。
21      */
22     public abstract void visitValue(JsValue value) throws JsVisitException;
23
24     /**
25      * OBJECT型内部のPAIR名登場の通知を受け取る。
26      *
27      * <p>PAIRの示すValueの出現する直前に通知が行われる。
28      *
29      * @param pairName PAIR名
30      * @throws JsVisitException ビジターがトラバース中止を判断した際に
31      *  投げられる。
32      */
33     public abstract void visitPairName(String pairName) throws JsVisitException;
34
35     /**
36      * 括弧構造終了の通知を受け取る。
37      *
38      * <p>括弧構造を持つJSON型は、OBJECT型かARRAY型のみ。
39      *
40      * @param composition OBJECT型かARRAY型のいずれかのValue
41      * @throws JsVisitException ビジターがトラバース中止を判断した際に
42      *  投げられる。
43      */
44     public abstract void visitCompositionClose(JsComposition<?> composition)
45             throws JsVisitException;
46
47 }