1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.opensaml.xacml.profile.saml.impl;
20
21 import org.opensaml.saml2.core.impl.RequestAbstractTypeUnmarshaller;
22 import org.opensaml.xacml.ctx.RequestType;
23 import org.opensaml.xacml.policy.IdReferenceType;
24 import org.opensaml.xacml.profile.saml.XACMLPolicyQueryType;
25 import org.opensaml.xml.XMLObject;
26 import org.opensaml.xml.io.UnmarshallingException;
27
28
29 public class XACMLPolicyQueryTypeUnmarshaller extends RequestAbstractTypeUnmarshaller {
30
31
32 protected void processChildElement(XMLObject parentObject, XMLObject childObject) throws UnmarshallingException {
33 XACMLPolicyQueryType xacmlpolicyquery = (XACMLPolicyQueryType) parentObject;
34
35 if (childObject instanceof RequestType) {
36 xacmlpolicyquery.getRequests().add((RequestType) childObject);
37 } else if (childObject.getElementQName().equals(IdReferenceType.POLICY_ID_REFERENCE_ELEMENT_NAME)) {
38 xacmlpolicyquery.getPolicyIdReferences().add((IdReferenceType) childObject);
39 } else if (childObject.getElementQName().equals(IdReferenceType.POLICY_SET_ID_REFERENCE_ELEMENT_NAME)) {
40 xacmlpolicyquery.getPolicySetIdReferences().add((IdReferenceType) childObject);
41 } else {
42 super.processChildElement(parentObject, childObject);
43 }
44 }
45
46 }