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 javax.xml.namespace.QName;
20
21 import org.opensaml.xml.XMLObject;
22 import org.opensaml.xml.encryption.EncryptionProperty;
23 import org.opensaml.xml.io.UnmarshallingException;
24 import org.opensaml.xml.util.XMLHelper;
25 import org.w3c.dom.Attr;
26
27
28
29
30 public class EncryptionPropertyUnmarshaller extends AbstractXMLEncryptionUnmarshaller {
31
32
33 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException {
34 EncryptionProperty ep = (EncryptionProperty) xmlObject;
35
36 if (attribute.getLocalName().equals(EncryptionProperty.ID_ATTRIB_NAME)) {
37 ep.setID(attribute.getValue());
38 attribute.getOwnerElement().setIdAttributeNode(attribute, true);
39 } else if (attribute.getLocalName().equals(EncryptionProperty.TARGET_ATTRIB_NAME)) {
40 ep.setTarget(attribute.getValue());
41 } else {
42 QName attributeName = XMLHelper.getNodeQName(attribute);
43 if (attribute.isId()) {
44 ep.getUnknownAttributes().registerID(attributeName);
45 }
46 ep.getUnknownAttributes().put(attributeName, attribute.getValue());
47 }
48 }
49
50
51 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject)
52 throws UnmarshallingException {
53 EncryptionProperty ep = (EncryptionProperty) parentXMLObject;
54
55
56 ep.getUnknownXMLObjects().add(childXMLObject);
57 }
58
59 }