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 * {@inheritDoc} 41 */ 42 protected AbstractWSSecurityObjectUnmarshaller() { 43 super(); 44 } 45 46 /* 47 * No-op method. Extending implementations should override this method if they have child element to unmarshall. 48 * 49 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processChildElement(org.opensaml.xml.XMLObject, 50 * org.opensaml.xml.XMLObject) 51 */ 52 protected void processChildElement(XMLObject parentXMLObject, XMLObject childXMLObject) 53 throws UnmarshallingException { 54 log.warn("{} ignoring unknown child element {}", parentXMLObject.getElementQName().getLocalPart(), 55 childXMLObject.getElementQName().getLocalPart()); 56 } 57 58 /* 59 * No-op method. Extending implementations should override this method if they have attributes to unmarshall. 60 * 61 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processAttribute(org.opensaml.xml.XMLObject, 62 * org.w3c.dom.Attr) 63 */ 64 protected void processAttribute(XMLObject xmlObject, Attr attribute) throws UnmarshallingException { 65 log.warn("{} ignoring unknown attribute {}", xmlObject.getElementQName().getLocalPart(), attribute 66 .getLocalName()); 67 } 68 69 /* 70 * No-op method. Extending implementations should override this method if they have element content to unmarshall. 71 * 72 * @see org.opensaml.xml.io.AbstractXMLObjectUnmarshaller#processElementContent(org.opensaml.xml.XMLObject, 73 * java.lang.String) 74 */ 75 protected void processElementContent(XMLObject xmlObject, String elementContent) { 76 log.warn("{} ignoring unknown element content: {}", xmlObject.getElementQName().getLocalPart(), elementContent); 77 } 78 }