/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.purl.sword.base;
import nu.xom.Element;
/**
* Common methods that should be supported by all classes that
* represent data in the SWORD api.
*
* @author Neil Taylor
*/
public interface SwordElementInterface
{
/**
* Marshall the data in the object to the XOM Element.
*
* @return The Element.
*/
public Element marshall( );
/**
* Unmarshall the data in the specified element and store it
* in the object.
*
* @param element The data to unmarshall.
* @throws UnmarshallException If the element is not of the
* correct type, or if there is an error unmarshalling the data.
*/
public void unmarshall( Element element )
throws UnmarshallException;
}