root / src / com / rackspace / cloud / files / api / client / parsers / ObjectVersionXMLParser.java @ d37efce5
History | View | Annotate | Download (1.9 kB)
1 |
package com.rackspace.cloud.files.api.client.parsers; |
---|---|
2 |
|
3 |
import java.util.ArrayList; |
4 |
|
5 |
import org.xml.sax.Attributes; |
6 |
import org.xml.sax.helpers.DefaultHandler; |
7 |
|
8 |
import android.util.Log; |
9 |
|
10 |
import com.rackspace.cloud.files.api.client.ObjectVersion; |
11 |
|
12 |
public class ObjectVersionXMLParser extends DefaultHandler { |
13 |
|
14 |
|
15 |
private ArrayList<ObjectVersion> containers; |
16 |
ObjectVersion version; |
17 |
|
18 |
private StringBuffer currentData; |
19 |
|
20 |
public void startElement(String uri, String name, String qName, |
21 |
Attributes atts) {
|
22 |
|
23 |
currentData = new StringBuffer(); |
24 |
if("object".equals(name)){ |
25 |
containers = new ArrayList<ObjectVersion>(); |
26 |
} |
27 |
if ("version".equals(name)) { |
28 |
version = new ObjectVersion();
|
29 |
version.setTimestamp(atts.getValue("timestamp"));
|
30 |
} |
31 |
} |
32 |
|
33 |
public void endElement(String uri, String name, String qName) { |
34 |
|
35 |
String value = currentData.toString().trim();
|
36 |
|
37 |
if ("object".equals(name)) { |
38 |
|
39 |
} else if ("version".equals(name)) { |
40 |
version.setVersion(Integer.parseInt(value));
|
41 |
Log.i("papala","parsed:"+version.getVersion()+" "+version.getTimestamp()); |
42 |
containers.add(version); |
43 |
} |
44 |
|
45 |
} |
46 |
|
47 |
public void characters(char ch[], int start, int length) { |
48 |
|
49 |
// Log.d("Rackspace-Cloud", "Characters: \"");
|
50 |
|
51 |
for (int i = start; i < start + length; i++) { |
52 |
switch (ch[i]) {
|
53 |
case '\\': |
54 |
// Log.d("Rackspace-Cloud", "\\\\");
|
55 |
break;
|
56 |
case '"': |
57 |
// Log.d("Rackspace-Cloud", "\\\"");
|
58 |
break;
|
59 |
case '\n': |
60 |
// Log.d("Rackspace-Cloud", "\\n");
|
61 |
break;
|
62 |
case '\r': |
63 |
// Log.d("Rackspace-Cloud", "\\r");
|
64 |
break;
|
65 |
case '\t': |
66 |
// Log.d("Rackspace-Cloud", "\\t");
|
67 |
break;
|
68 |
default:
|
69 |
// Log.d("Rackspace-Cloud", String.valueOf(ch[i]));
|
70 |
break;
|
71 |
} |
72 |
} |
73 |
// Log.d("Rackspace-Cloud", "\"\n");
|
74 |
|
75 |
for (int i = start; i < (start + length); i++) { |
76 |
currentData.append(ch[i]); |
77 |
} |
78 |
} |
79 |
|
80 |
|
81 |
/**
|
82 |
* @return the files
|
83 |
*/
|
84 |
public ArrayList<ObjectVersion> getContainers() { |
85 |
return containers;
|
86 |
} |
87 |
|
88 |
} |