1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.saml2.core.impl;
18
19 import org.opensaml.common.impl.AbstractSAMLObjectUnmarshaller;
20 import org.opensaml.saml2.core.BaseID;
21 import org.opensaml.saml2.core.EncryptedID;
22 import org.opensaml.saml2.core.NameID;
23 import org.opensaml.saml2.core.SubjectConfirmation;
24 import org.opensaml.saml2.core.SubjectConfirmationData;
25 import org.opensaml.xml.XMLObject;
26 import org.opensaml.xml.io.UnmarshallingException;
27 import org.w3c.dom.Attr;
28
29
30
31
32 public class SubjectConfirmationUnmarshaller extends AbstractSAMLObjectUnmarshaller {
33
34
35 protected void processChildElement(XMLObject parentObject, XMLObject childObject) throws UnmarshallingException {
36 SubjectConfirmation subjectConfirmation = (SubjectConfirmation) parentObject;
37
38 if (childObject instanceof BaseID) {
39 subjectConfirmation.setBaseID((BaseID) childObject);
40 } else if (childObject instanceof NameID) {
41 subjectConfirmation.setNameID((NameID) childObject);
42 } else if (childObject instanceof EncryptedID) {
43 subjectConfirmation.setEncryptedID((EncryptedID) childObject);
44 } else if (childObject instanceof SubjectConfirmationData) {
45 subjectConfirmation.setSubjectConfirmationData((SubjectConfirmationData) childObject);
46 } else {
47 super.processChildElement(parentObject, childObject);
48 }
49 }
50
51
52 protected void processAttribute(XMLObject samlObject, Attr attribute) throws UnmarshallingException {
53 SubjectConfirmation subjectConfirmation = (SubjectConfirmation) samlObject;
54
55 if (attribute.getLocalName().equals(SubjectConfirmation.METHOD_ATTRIB_NAME)) {
56 subjectConfirmation.setMethod(attribute.getValue());
57 } else {
58 super.processAttribute(samlObject, attribute);
59 }
60 }
61 }