OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package com.dom_distiller.client.sax; | 5 package com.dom_distiller.client.sax; |
6 | 6 |
7 import java.util.ArrayList; | 7 import java.util.ArrayList; |
8 import java.util.HashMap; | 8 import java.util.HashMap; |
9 import java.util.List; | 9 import java.util.List; |
10 import java.util.Map; | 10 import java.util.Map; |
11 | 11 |
12 public class AttributesImpl implements Attributes { | 12 public class AttributesImpl implements Attributes { |
13 private List<AttributeData> attributes; | 13 private List<AttributeData> attributes; |
14 private Map<String, Integer> attributesMap; | 14 private Map<String, Integer> attributesMap; |
15 | 15 |
16 public AttributesImpl() { | 16 public AttributesImpl() { |
17 attributes = new ArrayList<AttributeData>(); | 17 attributes = new ArrayList<AttributeData>(); |
18 attributesMap = new HashMap<String, Integer>(); | 18 attributesMap = new HashMap<String, Integer>(); |
19 } | 19 } |
20 | 20 |
21 public int getIndex(String key) { | 21 @Override |
22 return attributesMap.get(key); | 22 public String getValue(String key) { |
23 } | 23 return getValue(getIndex(key)); |
| 24 } |
24 | 25 |
25 public String getValue(String key) { | 26 @Override |
26 return getValue(getIndex(key)); | 27 public int getIndex(String key) { |
27 } | 28 return attributesMap.get(key); |
| 29 } |
28 | 30 |
29 public String getURI(int index) { | 31 @Override |
30 return attributes.get(index).uri; | 32 public String getName(int index) { |
31 } | 33 return attributes.get(index).name; |
| 34 } |
32 | 35 |
33 public String getLocalName(int index) { | 36 @Override |
34 return attributes.get(index).localName; | 37 public String getValue(int index) { |
35 } | 38 return attributes.get(index).value; |
| 39 } |
36 | 40 |
37 public String getQName(int index) { | 41 @Override |
38 return attributes.get(index).qName; | 42 public int getLength() { |
39 } | 43 return attributes.size(); |
| 44 } |
40 | 45 |
41 public String getType(int index) { | 46 public void addAttribute(String name, String value) { |
42 return attributes.get(index).type; | 47 attributesMap.put(name, attributes.size()); |
43 } | 48 AttributeData data = new AttributeData(name, value); |
| 49 attributes.add(data); |
| 50 } |
44 | 51 |
45 public String getValue(int index) { | 52 private static class AttributeData { |
46 return attributes.get(index).value; | 53 private final String name; |
47 } | 54 private final String value; |
48 | 55 |
49 public int getLength() { | 56 private AttributeData(String name, String value) { |
50 return attributes.size(); | 57 this.name = name; |
51 } | 58 this.value = value; |
52 | 59 } |
53 public void addAttribute(String uri, String localName, String qName, String ty
pe, String value) { | 60 } |
54 attributesMap.put(qName, attributes.size()); | |
55 AttributeData data = new AttributeData(uri, localName, qName, type, value)
; | |
56 attributes.add(data); | |
57 } | |
58 | |
59 private static class AttributeData { | |
60 String uri; | |
61 String localName; | |
62 String qName; | |
63 String type; | |
64 String value; | |
65 | |
66 AttributeData(String uri, String localName, String qName, String type, Str
ing value) { | |
67 this.uri = uri; | |
68 this.localName = localName; | |
69 this.qName = qName; | |
70 this.type = type; | |
71 this.value = value; | |
72 } | |
73 } | |
74 } | 61 } |
OLD | NEW |