1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.saml2.metadata.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.saml2.core.Attribute;
26 import org.opensaml.saml2.metadata.AssertionIDRequestService;
27 import org.opensaml.saml2.metadata.AttributeAuthorityDescriptor;
28 import org.opensaml.saml2.metadata.AttributeProfile;
29 import org.opensaml.saml2.metadata.AttributeService;
30 import org.opensaml.saml2.metadata.Endpoint;
31 import org.opensaml.saml2.metadata.NameIDFormat;
32 import org.opensaml.xml.XMLObject;
33 import org.opensaml.xml.util.XMLObjectChildrenList;
34
35
36
37
38 public class AttributeAuthorityDescriptorImpl extends RoleDescriptorImpl implements AttributeAuthorityDescriptor {
39
40
41 private final XMLObjectChildrenList<AttributeService> attributeServices;
42
43
44 private final XMLObjectChildrenList<AssertionIDRequestService> assertionIDRequestServices;
45
46
47 private final XMLObjectChildrenList<NameIDFormat> nameFormats;
48
49
50 private final XMLObjectChildrenList<AttributeProfile> attributeProfiles;
51
52
53 private final XMLObjectChildrenList<Attribute> attributes;
54
55
56
57
58
59
60
61
62 protected AttributeAuthorityDescriptorImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
63 super(namespaceURI, elementLocalName, namespacePrefix);
64 attributeServices = new XMLObjectChildrenList<AttributeService>(this);
65 assertionIDRequestServices = new XMLObjectChildrenList<AssertionIDRequestService>(this);
66 attributeProfiles = new XMLObjectChildrenList<AttributeProfile>(this);
67 nameFormats = new XMLObjectChildrenList<NameIDFormat>(this);
68 attributes = new XMLObjectChildrenList<Attribute>(this);
69 }
70
71
72 public List<AttributeService> getAttributeServices() {
73 return attributeServices;
74 }
75
76
77 public List<AssertionIDRequestService> getAssertionIDRequestServices() {
78 return assertionIDRequestServices;
79 }
80
81
82 public List<NameIDFormat> getNameIDFormats() {
83 return nameFormats;
84 }
85
86
87 public List<AttributeProfile> getAttributeProfiles() {
88 return attributeProfiles;
89 }
90
91
92 public List<Attribute> getAttributes() {
93 return attributes;
94 }
95
96
97 public List<Endpoint> getEndpoints() {
98 List<Endpoint> endpoints = new ArrayList<Endpoint>();
99 endpoints.addAll(attributeServices);
100 endpoints.addAll(assertionIDRequestServices);
101 return Collections.unmodifiableList(endpoints);
102 }
103
104
105 public List<Endpoint> getEndpoints(QName type) {
106 if(type.equals(AttributeService.DEFAULT_ELEMENT_NAME)){
107 return Collections.unmodifiableList(new ArrayList<Endpoint>(attributeServices));
108 }else if(type.equals(AssertionIDRequestService.DEFAULT_ELEMENT_NAME)){
109 return Collections.unmodifiableList(new ArrayList<Endpoint>(assertionIDRequestServices));
110 }
111
112 return null;
113 }
114
115
116 public List<XMLObject> getOrderedChildren() {
117 ArrayList<XMLObject> children = new ArrayList<XMLObject>();
118
119 children.addAll(super.getOrderedChildren());
120 children.addAll(attributeServices);
121 children.addAll(assertionIDRequestServices);
122 children.addAll(nameFormats);
123 children.addAll(attributeProfiles);
124 children.addAll(attributes);
125
126 return Collections.unmodifiableList(children);
127 }
128 }