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.AttributeSelectorType;
21 import org.opensaml.xml.XMLObject;
22 import org.opensaml.xml.io.AbstractXMLObjectUnmarshaller;
23 import org.opensaml.xml.io.UnmarshallingException;
24 import org.opensaml.xml.schema.XSBooleanValue;
25 import org.opensaml.xml.util.DatatypeHelper;
26 import org.w3c.dom.Attr;
27
28
29
30
31 public class AttributeSelectorTypeUnmarshaller extends AbstractXMLObjectUnmarshaller {
32
33
34 public AttributeSelectorTypeUnmarshaller() {
35 super();
36 }
37
38
39 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
40 AttributeSelectorType attributeSelectorType = (AttributeSelectorType) xmlObject;
41
42 if(attribute.getLocalName().equals(AttributeSelectorType.REQUEST_CONTEXT_PATH_ATTRIB_NAME)){
43 attributeSelectorType.setRequestContextPath(DatatypeHelper.safeTrimOrNullString(attribute.getValue()));
44 }
45 if(attribute.getLocalName().equals(AttributeSelectorType.DATA_TYPE_ATTRIB_NAME)){
46 attributeSelectorType.setDataType(DatatypeHelper.safeTrimOrNullString(attribute.getValue()));
47 }
48
49 if(attribute.getLocalName().equals(AttributeSelectorType.MUST_BE_PRESENT_ATTRIB_NAME)){
50 if(attribute.getValue().equals("True") || attribute.getValue().equals("true")){
51 attributeSelectorType.setMustBePresentXSBoolean(XSBooleanValue.valueOf("1"));
52 }else{
53 attributeSelectorType.setMustBePresentXSBoolean(XSBooleanValue.valueOf("0"));
54 }
55 }
56
57 }
58
59
60 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
61 throws UnmarshallingException {
62 }
63
64
65 protected void processElementContent(XMLObject xmlObject, String elementContent) {
66 }
67
68 }