OSDN Git Service

Merge commit '2458eff3aea04f67893bc824b5cf896fbb767332'
[jindolf/Jindolf.git] / src / main / java / jp / sourceforge / jindolf / json / JsonReader.java
diff --git a/src/main/java/jp/sourceforge/jindolf/json/JsonReader.java b/src/main/java/jp/sourceforge/jindolf/json/JsonReader.java
new file mode 100644 (file)
index 0000000..c25dfdd
--- /dev/null
@@ -0,0 +1,38 @@
+/*\r
+ * JSON raeder\r
+ *\r
+ * Copyright(c) 2009 olyutorskii\r
+ * $Id: JsonReader.java 914 2009-11-24 11:16:36Z olyutorskii $\r
+ */\r
+\r
+package jp.sourceforge.jindolf.json;\r
+\r
+import java.io.PushbackReader;\r
+import java.io.Reader;\r
+\r
+/**\r
+ * JSONデータ用入力文字ストリーム。\r
+ */\r
+class JsonReader extends PushbackReader{\r
+\r
+    /** 入力ストリームに必要なプッシュバック文字数。 */\r
+    public static final int PUSHBACK_TOKENS = 10;\r
+\r
+    static{\r
+        assert JsBoolean.TRUE .toString().length() < PUSHBACK_TOKENS;\r
+        assert JsBoolean.FALSE.toString().length() < PUSHBACK_TOKENS;\r
+        assert JsNull   .NULL .toString().length() < PUSHBACK_TOKENS;\r
+        assert "\\uXXXX"                 .length() < PUSHBACK_TOKENS;\r
+    }\r
+\r
+    /**\r
+     * コンストラクタ。\r
+     * @param reader 文字入力\r
+     */\r
+    public JsonReader(Reader reader){\r
+        super(reader, PUSHBACK_TOKENS);\r
+        return;\r
+    }\r
+\r
+    // TODO エラー報告用に行数、文字数をカウント\r
+}\r