1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.opensaml.xacml.policy.impl;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.List;
24
25 import org.opensaml.xacml.policy.AttributeAssignmentType;
26 import org.opensaml.xacml.policy.EffectType;
27 import org.opensaml.xacml.policy.ObligationType;
28 import org.opensaml.xml.XMLObject;
29 import org.opensaml.xml.util.XMLObjectChildrenList;
30 import org.opensaml.xml.validation.AbstractValidatingXMLObject;
31
32
33 public class ObligationTypeImpl extends AbstractValidatingXMLObject implements ObligationType {
34
35
36 private XMLObjectChildrenList<AttributeAssignmentType> attributeAssignments;
37
38
39 private EffectType fulFillOn;
40
41
42 private String obligationId;
43
44
45
46
47
48
49
50
51 protected ObligationTypeImpl(String namespaceURI, String elementLocalName, String namespacePrefix) {
52 super(namespaceURI, elementLocalName, namespacePrefix);
53 attributeAssignments = new XMLObjectChildrenList<AttributeAssignmentType>(this);
54 }
55
56
57 public List<AttributeAssignmentType> getAttributeAssignments() {
58 return attributeAssignments;
59 }
60
61
62 public EffectType getFulfillOn() {
63 return fulFillOn;
64 }
65
66
67 public String getObligationId() {
68 return obligationId;
69 }
70
71
72 public void setFulfillOn(EffectType newFulfillOn) {
73 fulFillOn = prepareForAssignment(this.fulFillOn, newFulfillOn);
74 }
75
76
77 public void setObligationId(String newObligationId) {
78 obligationId = prepareForAssignment(this.obligationId, newObligationId);
79 }
80
81
82 public List<XMLObject> getOrderedChildren() {
83 ArrayList<XMLObject> children = new ArrayList<XMLObject>();
84
85 if (!attributeAssignments.isEmpty()) {
86 children.addAll(attributeAssignments);
87 }
88 return Collections.unmodifiableList(children);
89 }
90 }