1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.opensaml.xacml.policy.impl;
19
20 import org.opensaml.xacml.policy.ApplyType;
21 import org.opensaml.xacml.policy.ExpressionType;
22 import org.opensaml.xml.XMLObject;
23 import org.opensaml.xml.io.AbstractXMLObjectUnmarshaller;
24 import org.opensaml.xml.io.UnmarshallingException;
25 import org.opensaml.xml.util.DatatypeHelper;
26 import org.w3c.dom.Attr;
27
28
29
30
31 public class ApplyTypeUnmarshaller extends AbstractXMLObjectUnmarshaller {
32
33
34 public ApplyTypeUnmarshaller() {
35 super();
36 }
37
38
39 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
40
41 if (attribute.getLocalName().equals(ApplyType.FUNCTION_ID_ATTRIB_NAME)) {
42 ApplyType applyType = (ApplyType) xmlObject;
43 applyType.setFunctionId(DatatypeHelper.safeTrimOrNullString(attribute.getValue()));
44 }
45
46 }
47
48
49 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
50 throws UnmarshallingException {
51 ApplyType applayType = (ApplyType) parentXMLObject;
52 if (childXMLObject instanceof ExpressionType) {
53 ExpressionType expression = (ExpressionType) childXMLObject;
54 applayType.getExpressions().add(expression);
55 }
56 }
57
58
59 protected void processElementContent(XMLObject xmlObject, String elementContent) {
60
61 }
62
63 }