1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.opensaml.ws.wstrust.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.ws.wstrust.Participant;
27 import org.opensaml.ws.wstrust.Participants;
28 import org.opensaml.ws.wstrust.Primary;
29 import org.opensaml.xml.XMLObject;
30 import org.opensaml.xml.util.IndexedXMLObjectChildrenList;
31
32
33
34
35
36 public class ParticipantsImpl extends AbstractWSTrustObject implements Participants {
37
38
39 private Primary primary;
40
41
42 private List<Participant> participants;
43
44
45 private IndexedXMLObjectChildrenList<XMLObject> unknownChildren;
46
47
48
49
50
51
52
53
54 public ParticipantsImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
55 super(namespaceURI, elementLocalName, namespacePrefix);
56 participants = new ArrayList<Participant>();
57 unknownChildren = new IndexedXMLObjectChildrenList<XMLObject>(this);
58 }
59
60
61 public Primary getPrimary() {
62 return primary;
63 }
64
65
66 public void setPrimary(Primary newPrimary) {
67 primary = prepareForAssignment(primary, newPrimary);
68 }
69
70
71 public List<Participant> getParticipants() {
72 return participants;
73 }
74
75
76 public List<XMLObject> getUnknownXMLObjects() {
77 return unknownChildren;
78 }
79
80
81 public List<XMLObject> getUnknownXMLObjects(QName typeOrName) {
82 return (List<XMLObject>) unknownChildren.subList(typeOrName);
83 }
84
85
86 public List<XMLObject> getOrderedChildren() {
87 List<XMLObject> children = new ArrayList<XMLObject>();
88 if (primary != null) {
89 children.add(primary);
90 }
91
92 children.addAll(participants);
93
94 children.addAll(unknownChildren);
95
96 return Collections.unmodifiableList(children);
97 }
98
99 }