1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.opensaml.xml.encryption.impl;
18
19 import org.opensaml.xml.XMLObject;
20 import org.opensaml.xml.encryption.CarriedKeyName;
21 import org.opensaml.xml.encryption.EncryptedKey;
22 import org.opensaml.xml.encryption.ReferenceList;
23 import org.opensaml.xml.io.UnmarshallingException;
24 import org.w3c.dom.Attr;
25
26
27
28
29 public class EncryptedKeyUnmarshaller extends EncryptedTypeUnmarshaller {
30
31
32 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
33 EncryptedKey ek = (EncryptedKey) xmlObject;
34
35 if (attribute.getLocalName().equals(EncryptedKey.RECIPIENT_ATTRIB_NAME)) {
36 ek.setRecipient(attribute.getValue());
37 } else {
38 super.processAttribute(xmlObject, attribute);
39 }
40 }
41
42
43 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
44 throws UnmarshallingException {
45 EncryptedKey ek = (EncryptedKey) parentXMLObject;
46
47 if (childXMLObject instanceof ReferenceList) {
48 ek.setReferenceList((ReferenceList) childXMLObject);
49 } else if (childXMLObject instanceof CarriedKeyName) {
50 ek.setCarriedKeyName((CarriedKeyName) childXMLObject);
51 } else {
52 super.processChildElement(parentXMLObject, childXMLObject);
53 }
54 }
55
56 }