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.EncryptionMethod;
21 import org.opensaml.xml.encryption.KeySize;
22 import org.opensaml.xml.encryption.OAEPparams;
23 import org.opensaml.xml.io.UnmarshallingException;
24 import org.w3c.dom.Attr;
25
26
27
28
29 public class EncryptionMethodUnmarshaller extends AbstractXMLEncryptionUnmarshaller {
30
31
32 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
33 EncryptionMethod em = (EncryptionMethod) xmlObject;
34
35 if (attribute.getLocalName().equals(EncryptionMethod.ALGORITHM_ATTRIB_NAME)) {
36 em.setAlgorithm(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 EncryptionMethod em = (EncryptionMethod) parentXMLObject;
46 if (childXMLObject instanceof KeySize) {
47 em.setKeySize((KeySize) childXMLObject);
48 } else if (childXMLObject instanceof OAEPparams) {
49 em.setOAEPparams((OAEPparams) childXMLObject);
50 } else {
51 em.getUnknownXMLObjects().add(childXMLObject);
52 }
53 }
54
55 }