OSDN Git Service

removed all files
[xerial/xerial-core.git] / src / main / java / org / xerial / json / JSONPushParser.java
diff --git a/src/main/java/org/xerial/json/JSONPushParser.java b/src/main/java/org/xerial/json/JSONPushParser.java
deleted file mode 100755 (executable)
index 3d9b995..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*--------------------------------------------------------------------------\r
- *  Copyright 2009 Taro L. Saito\r
- *\r
- *  Licensed under the Apache License, Version 2.0 (the "License");\r
- *  you may not use this file except in compliance with the License.\r
- *  You may obtain a copy of the License at\r
- *\r
- *     http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
- *--------------------------------------------------------------------------*/\r
-//--------------------------------------\r
-// XerialJ\r
-//\r
-// JSONPushParser.java\r
-// Since: Jun 1, 2009 5:52:05 PM\r
-//\r
-// $URL: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core/src/main/java/org/xerial/json/JSONPushParser.java $\r
-// $Author: leo $\r
-//--------------------------------------\r
-package org.xerial.json;\r
-\r
-import java.io.IOException;\r
-import java.io.Reader;\r
-\r
-import org.xerial.util.ArrayDeque;\r
-import org.xerial.util.tree.TreeEvent;\r
-import org.xerial.util.tree.TreeEventHandler;\r
-import org.xerial.util.tree.TreeParser;\r
-import org.xerial.util.tree.TreeEvent.EventType;\r
-\r
-/**\r
- * Push-style JSON parser\r
- * \r
- * @author leo\r
- * \r
- */\r
-public class JSONPushParser implements TreeParser\r
-{\r
-    private final JSONPullParser jsonPullParser;\r
-    private JSONEvent lastEvent = null;\r
-\r
-    private ArrayDeque<TreeEvent> pendingEventQueue = new ArrayDeque<TreeEvent>();\r
-\r
-    public JSONPushParser(String json)\r
-    {\r
-        jsonPullParser = new JSONPullParser(json);\r
-    }\r
-\r
-    public JSONPushParser(Reader input) throws IOException\r
-    {\r
-        jsonPullParser = new JSONPullParser(input);\r
-    }\r
-\r
-    public void parse(TreeEventHandler handler) throws Exception\r
-    {\r
-        handler.init();\r
-        parseJSON(handler);\r
-        handler.finish();\r
-    }\r
-\r
-    private void flushPendingEvent(TreeEventHandler handler) throws Exception\r
-    {\r
-        while (!pendingEventQueue.isEmpty())\r
-        {\r
-            TreeEvent e = pendingEventQueue.removeFirst();\r
-            switch (e.event)\r
-            {\r
-            case VISIT:\r
-                handler.visitNode(e.nodeName, e.nodeValue);\r
-                break;\r
-            case LEAVE:\r
-                handler.leaveNode(e.nodeName);\r
-                break;\r
-            case TEXT:\r
-                handler.text(e.nodeName, e.nodeValue);\r
-                break;\r
-            }\r
-        }\r
-    }\r
-\r
-    private void parseJSON(TreeEventHandler handler) throws Exception\r
-    {\r
-        while (lastEvent != JSONEvent.EndJSON)\r
-        {\r
-            lastEvent = jsonPullParser.next();\r
-            switch (lastEvent)\r
-            {\r
-            case StartObject:\r
-            {\r
-                flushPendingEvent(handler);\r
-\r
-                String key = jsonPullParser.getKeyName();\r
-                pendingEventQueue.addLast(TreeEvent.newVisitEvent(key, null));\r
-                break;\r
-            }\r
-            case EndObject:\r
-            {\r
-                flushPendingEvent(handler);\r
-                String key = jsonPullParser.getKeyName();\r
-                handler.leaveNode(key);\r
-                break;\r
-            }\r
-            case String:\r
-            case Integer:\r
-            case Double:\r
-            case Boolean:\r
-            case Null:\r
-            {\r
-                String key = jsonPullParser.getKeyName();\r
-                String value = lastEvent != JSONEvent.Null ? jsonPullParser.getText() : null;\r
-\r
-                // if first child element is value attribute\r
-                if (key != null)\r
-                {\r
-                    if (key.equals("value") && !pendingEventQueue.isEmpty())\r
-                    {\r
-                        TreeEvent e = pendingEventQueue.peekLast();\r
-                        if (e.event == EventType.VISIT)\r
-                        {\r
-                            pendingEventQueue.removeLast();\r
-                            pendingEventQueue.addLast(TreeEvent.newVisitEvent(e.nodeName, value));\r
-                            break;\r
-                        }\r
-                    }\r
-                }\r
-\r
-                flushPendingEvent(handler);\r
-                handler.visitNode(key, value);\r
-                handler.leaveNode(key);\r
-                break;\r
-            }\r
-            case StartArray:\r
-            case EndArray:\r
-            case EndJSON:\r
-                // do nothing\r
-                break;\r
-            }\r
-\r
-        }\r
-    }\r
-}\r