--- /dev/null
+// HttpInteger.java\r
+// $Id: HttpInteger.java,v 1.1 2010/06/15 12:19:48 smhuang Exp $$\r
+// (c) COPYRIGHT MIT and INRIA, 1996.\r
+// Please first read the full copyright statement in file COPYRIGHT.html\r
+\r
+package org.w3c.www.http;\r
+\r
+public class HttpInteger extends BasicValue {\r
+ Integer value = null;\r
+\r
+ protected void parse() {\r
+ ParseState ps = new ParseState();\r
+ ps.ioff = 0;\r
+ ps.bufend = raw.length;\r
+ value = new Integer(HttpParser.parseInt(raw, ps));\r
+ }\r
+\r
+ protected void updateByteValue() {\r
+ HttpBuffer buf = new HttpBuffer(11);\r
+// kludge for difference between rfc2616 maxint and java maxint\r
+ if (value.intValue() == Integer.MAX_VALUE) {\r
+ buf.append("2147483648");\r
+ }\r
+ buf.appendInt(value.intValue());\r
+ raw = buf.getByteCopy();\r
+ roff = 0;\r
+ rlen = raw.length;\r
+ }\r
+\r
+ public Object getValue() {\r
+ validate();\r
+ return value;\r
+ }\r
+\r
+ public void setValue(int ival) {\r
+ if ( value.intValue() == ival )\r
+ return;\r
+ invalidateByteValue();\r
+ value = new Integer(ival) ;\r
+ isValid = true ;\r
+ }\r
+\r
+ public void setValue(Integer ival) {\r
+ if ( ival.intValue() == value.intValue() )\r
+ return;\r
+ invalidateByteValue();\r
+ value = ival ;\r
+ isValid = true ;\r
+ }\r
+\r
+ HttpInteger(boolean isValid, int ival) {\r
+ this.isValid = isValid;\r
+ this.value = new Integer(ival) ;\r
+ }\r
+\r
+ public HttpInteger() {\r
+ this.isValid = false;\r
+ }\r
+}\r