1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.opensaml.xacml.policy.impl;
19
20 import java.util.ArrayList;
21 import java.util.Collections;
22 import java.util.List;
23
24 import javax.xml.namespace.QName;
25
26 import org.opensaml.xacml.policy.AttributeValueType;
27 import org.opensaml.xml.XMLObject;
28 import org.opensaml.xml.util.AttributeMap;
29 import org.opensaml.xml.util.IndexedXMLObjectChildrenList;
30 import org.opensaml.xml.validation.AbstractValidatingXMLObject;
31
32
33 public class AttributeValueTypeImpl extends AbstractValidatingXMLObject implements AttributeValueType {
34
35
36 private String dataType;
37
38
39 private String textContent;
40
41
42 private IndexedXMLObjectChildrenList<XMLObject> unknownElements;
43
44
45 private AttributeMap unknownAttributes;
46
47
48
49
50
51
52
53
54 protected AttributeValueTypeImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
55 super(namespaceURI, elementLocalName, namespacePrefix);
56 unknownAttributes = new AttributeMap(this);
57 unknownElements = new IndexedXMLObjectChildrenList<XMLObject>(this);
58 }
59
60
61 public String getDataType() {
62 return dataType;
63 }
64
65
66 public void setDataType(String type) {
67 dataType = prepareForAssignment(this.dataType, type);
68 }
69
70
71 public List<XMLObject> getOrderedChildren() {
72 ArrayList<XMLObject> children = new ArrayList<XMLObject>();
73
74 if (textContent == null) {
75 children.addAll(unknownElements);
76 }
77
78 return Collections.unmodifiableList(children);
79 }
80
81
82 public AttributeMap getUnknownAttributes() {
83 return unknownAttributes;
84 }
85
86
87 public List<XMLObject> getUnknownXMLObjects() {
88 return unknownElements;
89 }
90
91
92 public List<XMLObject> getUnknownXMLObjects(QName typeOrName) {
93 return (List<XMLObject>) unknownElements.subList(typeOrName);
94 }
95
96
97 public String getValue() {
98 return textContent;
99 }
100
101
102 public void setValue(String value) {
103 textContent = prepareForAssignment(textContent, value);
104 }
105 }