1 /* 2 * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved. 3 * 4 * This software is open source. 5 * See the bottom of this file for the licence. 6 * 7 * $Id: JAXBObjectModifier.java,v 1.1 2004/08/02 18:44:07 maartenc Exp $ 8 */ 9 10 package org.dom4j.jaxb; 11 12 import javax.xml.bind.Element; 13 14 /*** 15 * JAXBObjectHandler implementations can be registered with the {@link JAXBModifier} 16 * in order to change unmarshalled XML fragments. 17 * 18 * @author Wonne Keysers (Realsoftware.be) 19 */ 20 public interface JAXBObjectModifier { 21 22 /*** 23 * Called when the {@link JAXBModifier} has finished parsing the xml path 24 * the handler was registered for. The provided object is the unmarshalled representation 25 * of the XML fragment. It can be casted to the appropriate implementation class that is 26 * generated by the JAXB compiler.<br> 27 * The modified JAXB element that returns from this method 28 * will be marshalled by the {@link JAXBModifier} and put in the DOM4J tree. 29 * 30 * @param jaxbElement the JAXB object to be modified 31 * @return the modified JAXB object, or null when it must be removed. 32 * @throws Exception possibly thrown by the implementation. 33 */ 34 public Element modifyObject(Element jaxbElement) throws Exception; 35 36 } 37 38 39 40 41 /* 42 * Redistribution and use of this software and associated documentation 43 * ("Software"), with or without modification, are permitted provided 44 * that the following conditions are met: 45 * 46 * 1. Redistributions of source code must retain copyright 47 * statements and notices. Redistributions must also contain a 48 * copy of this document. 49 * 50 * 2. Redistributions in binary form must reproduce the 51 * above copyright notice, this list of conditions and the 52 * following disclaimer in the documentation and/or other 53 * materials provided with the distribution. 54 * 55 * 3. The name "DOM4J" must not be used to endorse or promote 56 * products derived from this Software without prior written 57 * permission of MetaStuff, Ltd. For written permission, 58 * please contact dom4j-info@metastuff.com. 59 * 60 * 4. Products derived from this Software may not be called "DOM4J" 61 * nor may "DOM4J" appear in their names without prior written 62 * permission of MetaStuff, Ltd. DOM4J is a registered 63 * trademark of MetaStuff, Ltd. 64 * 65 * 5. Due credit should be given to the DOM4J Project - 66 * http://www.dom4j.org 67 * 68 * THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS 69 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT 70 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 71 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 72 * METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 73 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 74 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 75 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 76 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 77 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 78 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 79 * OF THE POSSIBILITY OF SUCH DAMAGE. 80 * 81 * Copyright 2001-2004 (C) MetaStuff, Ltd. All Rights Reserved. 82 * 83 * $Id: JAXBObjectModifier.java,v 1.1 2004/08/02 18:44:07 maartenc Exp $ 84 */