1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.ws.wspolicy.impl;
18
19 import org.opensaml.ws.wspolicy.AppliesTo;
20 import org.opensaml.ws.wspolicy.Policy;
21 import org.opensaml.ws.wspolicy.PolicyAttachment;
22 import org.opensaml.ws.wspolicy.PolicyReference;
23 import org.opensaml.xml.XMLObject;
24 import org.opensaml.xml.io.UnmarshallingException;
25 import org.opensaml.xml.util.XMLHelper;
26 import org.w3c.dom.Attr;
27
28
29
30
31 public class PolicyAttachmentUnmarshaller extends AbstractWSPolicyObjectUnmarshaller {
32
33
34 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
35 PolicyAttachment pa = (PolicyAttachment) xmlObject;
36 XMLHelper.unmarshallToAttributeMap(pa.getUnknownAttributes(), attribute);
37 }
38
39
40 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
41 throws UnmarshallingException {
42 PolicyAttachment pa = (PolicyAttachment) parentXMLObject;
43
44 if (childXMLObject instanceof AppliesTo) {
45 pa.setAppliesTo((AppliesTo) childXMLObject);
46 } else if (childXMLObject instanceof Policy) {
47 pa.getPolicies().add((Policy) childXMLObject);
48 } else if (childXMLObject instanceof PolicyReference) {
49 pa.getPolicyReferences().add((PolicyReference) childXMLObject);
50 } else {
51 pa.getUnknownXMLObjects().add(childXMLObject);
52 }
53 }
54
55 }