/* * XMLIOProxy.java */ package org.freehep.xml.io; import org.jdom.Element; /** * Interface for proxyes that can save and restore objects to/from xml. * * @author turri * */ public interface XMLIOProxy { /** * Save the current configuration of an object. * @param obj The object to be saved to xml. * @param xmlioManager The objects ID manager. * @return Element A jdom node containing the object's * configuration info. * @throws An IllegalArgumentException if the object * is not saveble by this proxy. * */ void save(Object obj, XMLIOManager xmlioManager, Element nodeEl) throws IllegalArgumentException; /** * Restore the configuration of an object. * @param obj The object to be restored. * @param xmlioManager The objects ID manager. * @param nodeEl Is the jdom node containing the * object's configuration info * @throws An IllegalArgumentException if the object * cannot be restored by this proxy. * */ void restore(Object obj, XMLIOManager xmlioManager, Element nodeEl) throws IllegalArgumentException; /** * Returns the array containing the Class of the objects that the proxy is * able to save and restore. * @return The classes. * */ Class[] XMLIOProxyClasses(); }