root / src / com / rackspace / cloud / files / api / client / parsers / ContainerXMLParser.java @ 4daf0073
History | View | Annotate | Download (2.6 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 com.rackspace.cloud.files.api.client.Container; |
9 |
|
10 |
/**
|
11 |
*
|
12 |
* @author Phillip Toohill
|
13 |
*
|
14 |
*/
|
15 |
public class ContainerXMLParser extends DefaultHandler { |
16 |
|
17 |
private Container container; |
18 |
private ArrayList<Container> containers; |
19 |
private StringBuffer currentData; |
20 |
|
21 |
public void startElement(String uri, String name, String qName, |
22 |
Attributes atts) {
|
23 |
|
24 |
currentData = new StringBuffer(); |
25 |
if ("account".equals(name)) { |
26 |
containers = new ArrayList<Container>(); |
27 |
} else if ("container".equals(name)) { |
28 |
container = new Container(); |
29 |
} |
30 |
} |
31 |
|
32 |
public void endElement(String uri, String name, String qName) { |
33 |
|
34 |
String value = currentData.toString().trim();
|
35 |
|
36 |
if ("account".equals(name)) { |
37 |
|
38 |
} else if ("container".equals(name)) { |
39 |
|
40 |
if (containers == null) { |
41 |
containers = new ArrayList<Container>(); |
42 |
} |
43 |
containers.add(container); |
44 |
|
45 |
} else if ("name".equals(name)) { |
46 |
container.setName(value); |
47 |
} else if ("count".equals(name)) { |
48 |
container.setCount(Integer.parseInt(value));
|
49 |
} else if ("bytes".equals(name)) { |
50 |
container.setBytes(Integer.parseInt(value));
|
51 |
} else if ("cdn_enabled".equals(name)) { |
52 |
container.setCdnEnabled("True".equals(value));
|
53 |
} else if ("ttl".equals(name)) { |
54 |
container.setTtl(Integer.parseInt(value));
|
55 |
} else if ("cdn_url".equals(name)) { |
56 |
container.setCdnUrl(value); |
57 |
} else if ("log_retention".equals(name)) { |
58 |
container.setLogRetention("True".equals(value));
|
59 |
} |
60 |
|
61 |
} |
62 |
|
63 |
public void characters(char ch[], int start, int length) { |
64 |
|
65 |
System.out.print("Characters: \""); |
66 |
|
67 |
for (int i = start; i < start + length; i++) { |
68 |
switch (ch[i]) {
|
69 |
case '\\': |
70 |
System.out.print("\\\\"); |
71 |
break;
|
72 |
case '"': |
73 |
System.out.print("\\\""); |
74 |
break;
|
75 |
case '\n': |
76 |
System.out.print("\\n"); |
77 |
break;
|
78 |
case '\r': |
79 |
System.out.print("\\r"); |
80 |
break;
|
81 |
case '\t': |
82 |
System.out.print("\\t"); |
83 |
break;
|
84 |
default:
|
85 |
System.out.print(ch[i]);
|
86 |
break;
|
87 |
} |
88 |
} |
89 |
System.out.print("\"\n"); |
90 |
|
91 |
for (int i = start; i < (start + length); i++) { |
92 |
currentData.append(ch[i]); |
93 |
} |
94 |
} |
95 |
|
96 |
public Container getContainer() { |
97 |
return container;
|
98 |
} |
99 |
|
100 |
public void setContainer(Container container) { |
101 |
this.container = container;
|
102 |
} |
103 |
|
104 |
/**
|
105 |
* @return the files
|
106 |
*/
|
107 |
public ArrayList<Container> getContainers() { |
108 |
return containers;
|
109 |
} |
110 |
|
111 |
/**
|
112 |
* @param containers
|
113 |
* the servers to set
|
114 |
*/
|
115 |
public void setContainers(ArrayList<Container> containers) { |
116 |
this.containers = containers;
|
117 |
} |
118 |
|
119 |
} |