1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.saml1.core.impl;
18
19 import org.opensaml.common.impl.AbstractSAMLObjectUnmarshaller;
20 import org.opensaml.saml1.core.StatusCode;
21 import org.opensaml.xml.XMLObject;
22 import org.opensaml.xml.io.UnmarshallingException;
23 import org.opensaml.xml.util.XMLHelper;
24 import org.w3c.dom.Attr;
25
26
27
28
29 public class StatusCodeUnmarshaller extends AbstractSAMLObjectUnmarshaller {
30
31
32 protected void processChildElement(XMLObject parentSAMLObject, XMLObject childSAMLObject)
33 throws UnmarshallingException {
34
35 StatusCode statusCode = (StatusCode) parentSAMLObject;
36
37 if (childSAMLObject instanceof StatusCode) {
38 statusCode.setStatusCode((StatusCode) childSAMLObject);
39 } else {
40 super.processChildElement(parentSAMLObject, childSAMLObject);
41 }
42
43 }
44
45
46 protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
47
48 StatusCode statusCode = (StatusCode) samlObject;
49
50 if (attribute.getName().equals(StatusCode.VALUE_ATTRIB_NAME)) {
51 statusCode.setValue(XMLHelper.getAttributeValueAsQName(attribute));
52 } else {
53 super.processAttribute(samlObject, attribute);
54 }
55 }
56 }