1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.xml.encryption.impl;
18
19 import java.util.ArrayList;
20 import java.util.Collections;
21 import java.util.List;
22
23 import javax.xml.namespace.QName;
24
25 import org.opensaml.xml.XMLObject;
26 import org.opensaml.xml.encryption.ReferenceType;
27 import org.opensaml.xml.util.IndexedXMLObjectChildrenList;
28 import org.opensaml.xml.validation.AbstractValidatingXMLObject;
29
30
31
32
33 public class ReferenceTypeImpl extends AbstractValidatingXMLObject implements ReferenceType {
34
35
36 private String uri;
37
38
39 private final IndexedXMLObjectChildrenList<XMLObject> xmlChildren;
40
41
42
43
44
45
46
47
48 protected ReferenceTypeImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
49 super(namespaceURI, elementLocalName, namespacePrefix);
50 xmlChildren = new IndexedXMLObjectChildrenList<XMLObject>(this);
51 }
52
53
54 public String getURI() {
55 return this.uri;
56 }
57
58
59 public void setURI(String newURI) {
60 this.uri = prepareForAssignment(this.uri, newURI);
61 }
62
63
64 public List<XMLObject> getUnknownXMLObjects() {
65 return xmlChildren;
66 }
67
68
69 public List<XMLObject> getUnknownXMLObjects(QName typeOrName) {
70 return (List<XMLObject>) xmlChildren.subList(typeOrName);
71 }
72
73
74 public List<XMLObject> getOrderedChildren() {
75 ArrayList<XMLObject> children = new ArrayList<XMLObject>();
76
77 children.addAll(xmlChildren);
78
79 if (children.size() == 0) {
80 return null;
81 }
82
83 return Collections.unmodifiableList(children);
84 }
85
86 }