1 /* 2 * Copyright 2008 Members of the EGEE Collaboration. 3 * Copyright 2008 University Corporation for Advanced Internet Development, Inc. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package org.opensaml.ws.wssecurity.impl; 19 20 import org.opensaml.xml.XMLObject; 21 import org.opensaml.xml.io.AbstractXMLObjectUnmarshaller; 22 import org.opensaml.xml.io.UnmarshallingException; 23 import org.slf4j.Logger; 24 import org.slf4j.LoggerFactory; 25 import org.w3c.dom.Attr; 26 27 /** 28 * An abstract unmarshaller implementation for XMLObjects from {@link org.opensaml.ws.wssecurity}. 29 */ 30 public abstract class AbstractWSSecurityObjectUnmarshaller extends AbstractXMLObjectUnmarshaller { 31 32 /** 33 * Logger. 34 */ 35 private final Logger log = LoggerFactory.getLogger(AbstractWSSecurityObjectUnmarshaller.class); 36 37 /** 38 * Constructor. 39 * <p> 40 */ 41 protected AbstractWSSecurityObjectUnmarshaller() { 42 super(); 43 } 44 45 /* 46 * No-op method. Extending implementations should override this method if they have child element to unmarshall. 47 * 48 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processChildElement(org.opensaml.xml.XMLObject, 49 * org.opensaml.xml.XMLObject) 50 */ 51 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject) 52 throws UnmarshallingException { 53 log.warn("{} ignoring unknown child element {}", parentXMLObject.getElementQName().getLocalPart(), 54 childXMLObject.getElementQName().getLocalPart()); 55 } 56 57 /* 58 * No-op method. Extending implementations should override this method if they have attributes to unmarshall. 59 * 60 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processAttribute(org.opensaml.xml.XMLObject, 61 * org.w3c.dom.Attr) 62 */ 63 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException { 64 log.warn("{} ignoring unknown attribute {}", xmlObject.getElementQName().getLocalPart(), attribute 65 .getLocalName()); 66 } 67 68 /* 69 * No-op method. Extending implementations should override this method if they have element content to unmarshall. 70 * 71 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processElementContent(org.opensaml.xml.XMLObject, 72 * java.lang.String) 73 */ 74 protected void processElementContent(XMLObject xmlObject, String elementContent) { 75 log.warn("{} ignoring unknown element content: {}", xmlObject.getElementQName().getLocalPart(), elementContent); 76 } 77 }