1 /**
2 * Redistribution and use of this software and associated documentation
3 * ("Software"), with or without modification, are permitted provided
4 * that the following conditions are met:
5 *
6 * 1. Redistributions of source code must retain copyright
7 * statements and notices. Redistributions must also contain a
8 * copy of this document.
9 *
10 * 2. Redistributions in binary form must reproduce the
11 * above copyright notice, this list of conditions and the
12 * following disclaimer in the documentation and/or other
13 * materials provided with the distribution.
14 *
15 * 3. The name "Exolab" must not be used to endorse or promote
16 * products derived from this Software without prior written
17 * permission of Intalio, Inc. For written permission,
18 * please contact info@exolab.org.
19 *
20 * 4. Products derived from this Software may not be called "Exolab"
21 * nor may "Exolab" appear in their names without prior written
22 * permission of Intalio, Inc. Exolab is a registered
23 * trademark of Intalio, Inc.
24 *
25 * 5. Due credit should be given to the Exolab Project
26 * (http://www.exolab.org/).
27 *
28 * THIS SOFTWARE IS PROVIDED BY INTALIO, INC. AND CONTRIBUTORS
29 * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
30 * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
31 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
32 * INTALIO, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
33 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39 * OF THE POSSIBILITY OF SUCH DAMAGE.
40 *
41 * Copyright 2002 (C) Intalio, Inc. All Rights Reserved.
42 *
43 * $Id: UnmarshalListener.java 7440 2008-02-06 11:04:31Z jgrueneis $
44 *
45 * Date Author Changes
46 * 09-13-2002 Paul Christmann Initial Revision
47 */
48
49 package org.exolab.castor.xml;
50
51
52 /**
53 * <p>
54 * An interface to allow external "listening" to objects when
55 * they are being unmarshalled for various tracking purposes and
56 * potential modification. An implementation of
57 * this interface may be registered with the Unmarshaller.
58 * </p>
59 * <p>
60 * The UnmarshalListener interface does <em>not</em> report on
61 * native data types that are unmarshalled.
62 * </p>
63 * <p>
64 * This iterface was deprecated with Castor 1.2.1 and should no
65 * longer be used! Please use the replacing interface:
66 * @see org.castor.xml.UnmarshalListener
67 * </p>
68 *
69 * @author <a href="mailto:paul@priorartisans.com">Paul Christmann</a>
70 * @author <a href="mailto:kvsico@intalio.com">Keith Visco</a>
71 * @author <a href="mailto:blandin@intalio.com">Arnaud Blandin</a>
72 * @version $Revision: 7440 $
73 * @deprecated a new extended interface was introduced
74 **/
75 public interface UnmarshalListener {
76
77 /**
78 * This method is called when an object has just been initialized by the
79 * Unmarshaller.
80 *
81 * @param object the Object that was initialized.
82 **/
83 public void initialized (Object object);
84
85 /**
86 * This method is called once the attributes have been processed.
87 * It indicates that the the fields of the given object corresponding
88 * to attributes in the XML document have been set.
89 *
90 * @param object the Object the object being unmarshalled.
91 */
92 public void attributesProcessed(Object object);
93
94 /**
95 * This method is called after a child object has been added during the
96 * unmarshalling. This method will be called after {@link #unmarshalled(Object)} has
97 * been called for the child.
98 *
99 * @param fieldName The Name of the field the child is being added to.
100 * @param parent The Object being unmarshalled.
101 * @param child The Object that was just added.
102 */
103 public void fieldAdded (String fieldName, Object parent, Object child);
104
105 /**
106 * This method is called after an object
107 * has been completely unmarshalled, including
108 * all of its children (if any).
109 *
110 * @param object the Object that was unmarshalled.
111 **/
112 public void unmarshalled (Object object);
113
114 } //-- UnmarshalListener