Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / real-world application / jigsaw / src / org / w3c / www / webdav / DAVStatusURIList.java
diff --git a/JMCR-Stable/real-world application/jigsaw/src/org/w3c/www/webdav/DAVStatusURIList.java b/JMCR-Stable/real-world application/jigsaw/src/org/w3c/www/webdav/DAVStatusURIList.java
new file mode 100644 (file)
index 0000000..1c3d096
--- /dev/null
@@ -0,0 +1,96 @@
+// DAVStatusURIList.java\r
+// $Id: DAVStatusURIList.java,v 1.1 2010/06/15 12:27:42 smhuang Exp $\r
+// (c) COPYRIGHT MIT, INRIA and Keio, 2000.\r
+// Please first read the full copyright statement in file COPYRIGHT.html\r
+package org.w3c.www.webdav;\r
+\r
+import java.util.Vector;\r
+\r
+import org.w3c.www.http.BasicValue;\r
+\r
+/**\r
+ * @version $Revision: 1.1 $\r
+ * @author  Benoît Mahé (bmahe@w3.org)\r
+ */\r
+public class DAVStatusURIList extends BasicValue {\r
+\r
+    public static final boolean debug = false;\r
+    \r
+    DAVStatusURI statusURIs[] = null;\r
+\r
+    protected void parse() {\r
+       Vector vstatus = new Vector();\r
+       if (debug) {\r
+           System.out.println("PARSING STATUS URI HEADER");\r
+       }\r
+       ParseState list = new ParseState(0, raw.length);\r
+       list.separator  = (byte) ')';\r
+       list.spaceIsSep = false;\r
+       ParseState blist = new ParseState(0, 0);\r
+       blist.separator  = (byte) '(';\r
+       blist.spaceIsSep = false;\r
+       DAVStatusURI dsu = null;\r
+       while (DAVParser.nextItem(raw, list) >= 0) {\r
+           blist.prepare(list);\r
+           while (DAVParser.nextItem(raw, blist) >= 0) {\r
+               dsu = new DAVStatusURI(raw, blist.start, blist.end);\r
+               addStatusURI(dsu);\r
+           }\r
+       }\r
+    }\r
+\r
+    protected void updateByteValue() {\r
+       if (statusURIs != null) {\r
+           StringBuffer buf = new StringBuffer();\r
+           for (int i = 0; i < statusURIs.length ; i++) {\r
+               DAVStatusURI dsu = statusURIs[i];\r
+               buf.append("(").append(dsu.getStatus()).append(" ");\r
+               buf.append("<").append(dsu.getURI()).append(">) ");\r
+           }\r
+           raw  = buf.toString().getBytes();\r
+           roff = 0;\r
+           rlen = raw.length;\r
+       } else {\r
+           raw  = new byte[0];\r
+           roff = 0;\r
+           rlen = 0;\r
+       }\r
+    }\r
+\r
+    public void addStatusURI(DAVStatusURI su) {\r
+       if ( statusURIs == null ) {\r
+           statusURIs    = new DAVStatusURI[1];\r
+           statusURIs[0] = su;\r
+       } else {\r
+           int len = statusURIs.length;\r
+           DAVStatusURI nsu[] = new DAVStatusURI[len+1];\r
+           System.arraycopy(statusURIs, 0, nsu, 0, len);\r
+           nsu[len]   = su;\r
+           statusURIs = nsu;\r
+       }\r
+    }\r
+\r
+    public Object getValue() {\r
+       validate();\r
+       return statusURIs;\r
+    }\r
+\r
+    /**\r
+     * Don't use this constructor\r
+     */\r
+    public DAVStatusURIList() {\r
+       this.isValid = false;\r
+    }\r
+\r
+    public DAVStatusURIList(DAVStatusURI dsu[]) {\r
+       this.isValid    = true;\r
+       this.statusURIs = dsu;\r
+    }\r
+\r
+    public DAVStatusURIList(DAVStatusURI dsu) {\r
+       this.isValid    = true;\r
+       this.statusURIs = new DAVStatusURI[1];\r
+       statusURIs[0] = dsu;\r
+    }\r
+    \r
+}\r