CVS Update: xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic

Aleksander Andrzej Slominski <[email protected]> Tue, 1 Jul 2003 14:02:47 -0500 (EST)
Newsgroups gmane.text.xml.xmlpull.devel
Message-ID <[email protected]>
aslom       03/07/01 14:02:47

  Modified:    addons/java/wrapper/src/org/xmlpull/v1/wrapper
                        XmlPullParserWrapper.java XmlSerializerWrapper.java
               addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic
                        StaticXmlPullParserWrapper.java
                        StaticXmlSerializerWrapper.java
  Log:
  added set of methods to read and write XSD types
  
  Revision  Changes    Path
  1.5       +8 -1      xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlPullParserWrapper.java
  
  Index: XmlPullParserWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlPullParserWrapper.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -t -w -r1.4 -r1.5
  --- XmlPullParserWrapper.java	18 May 2003 13:21:15 -0000	1.4
  +++ XmlPullParserWrapper.java	1 Jul 2003 19:02:46 -0000	1.5
  @@ -131,6 +131,13 @@
        */
       public void skipSubTree()
           throws XmlPullParserException, IOException;
  +
  +    // set of methods to read XSD types
  +    public double readDouble() throws XmlPullParserException, IOException;
  +    public float readFloat() throws XmlPullParserException, IOException;
  +    public int readInt() throws XmlPullParserException, IOException;
  +    public String readString() throws XmlPullParserException, IOException;
  +
   
   }
   
  
  
  
  1.6       +30 -2     xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlSerializerWrapper.java
  
  Index: XmlSerializerWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/XmlSerializerWrapper.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -t -w -r1.5 -r1.6
  --- XmlSerializerWrapper.java	18 May 2003 13:21:15 -0000	1.5
  +++ XmlSerializerWrapper.java	1 Jul 2003 19:02:46 -0000	1.6
  @@ -69,7 +69,35 @@
       public void event(XmlPullParser pp)
           throws IOException, IllegalArgumentException, IllegalStateException, XmlPullParserException;
   
  -    public String escapeText(String text);
  -    public String escapeAttributeValue(String text);
  +    public String escapeText(String text) throws IllegalArgumentException;
  +    public String escapeAttributeValue(String text) throws IllegalArgumentException;
  +
  +    // set of methods to make easy to write XSD types
  +
  +    /**
  +     * Write as text value of argument.
  +     */
  +    public void writeDouble(double d)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void writeFloat(float f)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void writeInt(int i)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void writeString(String s)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +
  +    /**
  +     * Write as element with namesoace and name and value inside
  +     * (looks like &lt;ns:name>value&lt;/ns:name> where ns is prefix
  +     * for namespace autoatically declared if needed).
  +     */
  +    public void writeDoubleElement(String namespace, String name, double d)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void writeFloatElement(String namespace, String name, float f)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void writeIntElement(String namespace, String name, int i)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
  +    public void wiriteStringElement(String namespace, String name, String s)
  +        throws XmlPullParserException, IOException, IllegalArgumentException;
   }
   
  
  
  
  1.4       +67 -14    xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlPullParserWrapper.java
  
  Index: StaticXmlPullParserWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlPullParserWrapper.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -t -w -r1.3 -r1.4
  --- StaticXmlPullParserWrapper.java	5 May 2003 01:36:18 -0000	1.3
  +++ StaticXmlPullParserWrapper.java	1 Jul 2003 19:02:46 -0000	1.4
  @@ -144,6 +144,59 @@
   
       public void skipSubTree() throws XmlPullParserException, IOException {
           XmlPullUtil.skipSubTree(pp);
  +    }
  +
  +    public double readDouble() throws XmlPullParserException, IOException {
  +        String value = pp.nextText();
  +        double d;
  +        try {
  +            d = Double.parseDouble(value);
  +        } catch(NumberFormatException ex) {
  +            if(value.equals("INF") || value.toLowerCase().equals("infinity")) {
  +                d = Double.POSITIVE_INFINITY;
  +            } else if (value.equals("-INF")
  +                       || value.toLowerCase().equals("-infinity")) {
  +                d = Double.NEGATIVE_INFINITY;
  +            } else if (value.equals("NaN")) {
  +                d = Double.NaN;
  +            } else {
  +                throw new XmlPullParserException("can't parse double value '"+value+"'", this, ex);
  +            }
  +        }
  +        return d;
  +    }
  +
  +    public float readFloat() throws XmlPullParserException, IOException {
  +        String value = pp.nextText();
  +        float f;
  +        try {
  +            f = Float.parseFloat(value);
  +        } catch(NumberFormatException ex) {
  +            if(value.equals("INF") || value.toLowerCase().equals("infinity")) {
  +                f = Float.POSITIVE_INFINITY;
  +            } else if (value.equals("-INF")
  +                       || value.toLowerCase().equals("-infinity")) {
  +                f = Float.NEGATIVE_INFINITY;
  +            } else if (value.equals("NaN")) {
  +                f = Float.NaN;
  +            } else {
  +                throw new XmlPullParserException("can't parse float value '"+value+"'", this, ex);
  +            }
  +        }
  +        return f;
  +    }
  +
  +    public int readInt() throws XmlPullParserException, IOException {
  +        try {
  +            int i = Integer.parseInt(pp.nextText());
  +            return i;
  +        } catch(NumberFormatException ex) {
  +            throw new XmlPullParserException("can't parse int value", this, ex);
  +        }
  +    }
  +
  +    public String readString() throws XmlPullParserException, IOException {
  +        return pp.nextText();
       }
   
   }
  
  
  
  1.8       +71 -0     xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlSerializerWrapper.java
  
  Index: StaticXmlSerializerWrapper.java
  ===================================================================
  RCS file: /l/extreme/cvspub/xmlpull-api-v1/addons/java/wrapper/src/org/xmlpull/v1/wrapper/classic/StaticXmlSerializerWrapper.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -t -w -r1.7 -r1.8
  --- StaticXmlSerializerWrapper.java	20 May 2003 10:03:13 -0000	1.7
  +++ StaticXmlSerializerWrapper.java	1 Jul 2003 19:02:46 -0000	1.8
  @@ -348,5 +348,76 @@
       }
   
   
  +    public void writeDouble(double d)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        if(d == Double.POSITIVE_INFINITY) {
  +            xs.text("INF");
  +        } else if(d == Double.NEGATIVE_INFINITY) {
  +            xs.text("-INF");
  +        } else {
  +            xs.text(Double.toString(d));
  +        }
  +    }
  +
  +    public void writeFloat(float f)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        if(f == Float.POSITIVE_INFINITY) {
  +            xs.text("INF");
  +        } else if(f == Float.NEGATIVE_INFINITY) {
  +            xs.text("-INF");
  +        } else {
  +            xs.text(Float.toString(f));
  +        }
  +    }
  +
  +    public void writeInt(int i)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        xs.text(Integer.toString(i));
  +    }
  +
  +    public void writeString(String s)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        if( s == null ) {
  +            throws new IllegalArgumentException("null string can not be written");
  +        }
  +        xs.text(s);
  +    }
  +
  +    public void writeDoubleElement(String namespace, String name, double d)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        xs.startTag(namespace, name);
  +        writeDouble(d);
  +        xs.endTag(namespace, name);
  +    }
  +
  +    public void writeFloatElement(String namespace, String name, float f)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        xs.startTag(namespace, name);
  +        writeFloat(f);
  +        xs.endTag(namespace, name);
  +    }
  +
  +    public void writeIntElement(String namespace, String name, int i)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        xs.startTag(namespace, name);
  +        writeInt(i);
  +        xs.endTag(namespace, name);
  +    }
  +
  +    public void wiriteStringElement(String namespace, String name, String s)
  +        throws XmlPullParserException, IOException, IllegalArgumentException
  +    {
  +        xs.startTag(namespace, name);
  +        writeString(s);
  +        xs.endTag(namespace, name);
  +    }
  +
   }
   
  
  
  


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/2U_rlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
[email protected]

 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/