org.exolab.castor.xml.parsing.UnmarshalListenerDelegate Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of castor-xml Show documentation
Show all versions of castor-xml Show documentation
The core XML data binding framework with support for marshalling Java objects to
and unmarshalling from XML documents.
The newest version!
package org.exolab.castor.xml.parsing;
import org.castor.xml.UnmarshalListener;
import org.castor.xml.UnmarshalListenerAdapter;
import org.exolab.castor.xml.UnmarshalHandler;
/**
* This class handles delegates methods call to {@link UnmarshalListener}. Even if
* {@link UnmarshalListener} is null, all of the delegating methods can be invoke.
*
* @author Philipp Erlacher
*
* @since 1.3.2
*/
public class UnmarshalListenerDelegate implements UnmarshalListener {
/**
* The unmarshaller listener.
*/
private org.castor.xml.UnmarshalListener _unmarshalListener = null;
/**
* Sets an {@link org.castor.xml.UnmarshalListener}.
*
* @param listener the {@link org.castor.xml.UnmarshalListener} to use with this instance of the
* {@link UnmarshalHandler}.
*/
public void setUnmarshalListener(org.castor.xml.UnmarshalListener listener) {
_unmarshalListener = listener;
}
/**
* Sets an {@link org.exolab.castor.xml.UnmarshalListener}.
*
* @param listener the {@link org.exolab.castor.xml.UnmarshalListener} to use with this instance
* of the UnmarshalHandler.
* @deprecated please move to the new {@link org.castor.xml.UnmarshalListener} interface
*/
public void setUnmarshalListener(org.exolab.castor.xml.UnmarshalListener listener) {
if (listener == null) {
listener = null;
} else {
UnmarshalListenerAdapter adapter = new UnmarshalListenerAdapter();
adapter.setOldListener(listener);
_unmarshalListener = adapter;
}
}
/**
* @see org.castor.xml.UnmarshalListener.unmarshalled
* @param object
* @param parentObject
*/
public void unmarshalled(Object object, Object parentObject) {
// -- We're finished processing the object, so notify the
// -- Listener (if any).
if (_unmarshalListener != null && object != null) {
_unmarshalListener.unmarshalled(object, parentObject);
}
}
/**
* @see org.castor.xml.UnmarshalListener.fieldAdded
* @param object
* @param parentObject
*/
public void fieldAdded(String fieldName, Object stateObject, Object fieldStateObject) {
// If there is a parent for this object, pass along
// a notification that we've finished adding a child
if (_unmarshalListener != null) {
_unmarshalListener.fieldAdded(fieldName, stateObject, fieldStateObject);
}
}
/**
* @see org.castor.xml.UnmarshalListener.initialized
* @param object
* @param parentObject
*/
public void initialized(Object stateObject, Object parentObject) {
if (_unmarshalListener != null)
_unmarshalListener.initialized(stateObject, parentObject);
}
/**
* @see org.castor.xml.UnmarshalListener.attributesProcessed
* @param object
* @param parentObject
*/
public void attributesProcessed(Object stateObject, Object parentObject) {
if (_unmarshalListener != null)
_unmarshalListener.attributesProcessed(stateObject, parentObject);
}
}