All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.ac.starlink.util.XMLEncodeDecode Maven / Gradle / Ivy

/*
 * Copyright (C) 2001 Central Laboratory of the Research Councils 
 */
package uk.ac.starlink.util;

import org.w3c.dom.Element;

/**
 * Interface for objects that can encode and decode their internal
 * configuration within the content of an {@link org.w3c.dom.Element}.
 * 

* Once encoded into an Element such objects can be represented as * simple XML and either transmitted and re-created in some other * process, or stored permanently in a file. *

* For an abstract base class that implements lots of useful functions * that support this interface see * {@link PrimitiveXMLEncodeDecode} and for one that also supports * awt primitives (Fonts and Colors) see * uk.ac.starlink.ast.gui.AbstractPlotControlsModel. * * @since $Date$ * @since 26-JUL-2001 * @author Peter W. Draper * @version $Id$ */ public interface XMLEncodeDecode { /** * Encode the internal state of this object so that it is rooted * in the given Element. * * @param rootElement the Element within which the object should * store its configuration. */ public void encode( Element rootElement ); /** * Decode (ie, restore) the internal state of this object from an * Element. * * @param rootElement the element to which a previous object this * this type has attached its configuration. */ public void decode( Element rootElement ); /** * Return a name for the Element that will be the parent of any * contents that can be encoded and decoded (ie, name of * rootElement); * * @return the name of the root element. */ public String getTagName(); // XXX deal with namespaces. }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy