/* * @(#)Stringable.java 1.0 18 February 2001 * * Copyright 2004 * College of Computer and Information Science * Northeastern University * Boston, MA 02115 * * The Java Power Tools software may be used for educational * purposes as long as this copyright notice is retained intact * at the top of all source files. * * To discuss possible commercial use of this software, * contact Richard Rasala at Northeastern University, * College of Computer and Information Science, * 617-373-2462 or rasala@ccs.neu.edu. * * The Java Power Tools software has been designed and built * in collaboration with Viera Proulx and Jeff Raab. * * Should this software be modified, the words "Modified from * Original" must be included as a comment below this notice. * * All publication rights are retained. This software or its * documentation may not be published in any media either * in whole or in part without explicit permission. * * This software was created with support from Northeastern * University and from NSF grant DUE-9950829. */ package edu.neu.ccs; import java.text.ParseException; import java.beans.PropertyChangeEvent; /** *
Interface to be implemented by data model objects
* whose state can be encapsulated as or decapsulated from
* a data String.
*
* This interface has intentional similarities to
* the behavior delivered by the automatic serialization process
* provided in the Java platform,
* but is intended for user input and output,
* not for object persistence.
*
* @author Jeff Raab
* @version 2.2
* @since 1.0
*/
public interface Stringable {
/**
* Sets the state of this object
* using information contained in the given String.
*
* @param data the String containing state information
* @exception ParseException if the data is malformed
* @see #toStringData()
*/
public void fromStringData(String data) throws ParseException;
/**
* Returns a String encapsulation of this object
* that contains information needed
* to set the state of this object at a later time.
*
* @see #fromStringData(String)
*/
public String toStringData();
}