package com.planet_ink.coffee_mud.core.intermud.persist; import com.planet_ink.coffee_mud.core.interfaces.*; import com.planet_ink.coffee_mud.core.*; import com.planet_ink.coffee_mud.Abilities.interfaces.*; import com.planet_ink.coffee_mud.Areas.interfaces.*; import com.planet_ink.coffee_mud.Behaviors.interfaces.*; import com.planet_ink.coffee_mud.CharClasses.interfaces.*; import com.planet_ink.coffee_mud.Commands.interfaces.*; import com.planet_ink.coffee_mud.Common.interfaces.*; import com.planet_ink.coffee_mud.Exits.interfaces.*; import com.planet_ink.coffee_mud.Items.interfaces.*; import com.planet_ink.coffee_mud.Locales.interfaces.*; import com.planet_ink.coffee_mud.MOBS.interfaces.*; import com.planet_ink.coffee_mud.Races.interfaces.*; /** * com.planet_ink.coffee_mud.core.intermud.persist.Persistent * Copyright (c) 1996 George Reese * This source code may not be modified, copied, * redistributed, or used in any fashion without the * express written consent of George Reese. * * A Persistent object is any object that can be saved * to some data store. */ /** * Specified methods which must be implemented by * objects wishing to be saved. * @author George Reese (borg@imaginary.com) * @version 1.0 */ public interface Persistent { /** * The Persistent has not yet been modified since last * save or restore. */ static public final int UNMODIFIED = 0; /** * The Peersistence has been modified since last save * or restore. */ static public final int MODIFIED = 1; /** * The Persistent is a brand new object. */ static public final int NEW = 2; /** * The Persistent needs to be deleted from the data store. */ static public final int DELETED = 3; /** * Prescribes a method for restoration from a data * store. An implementation will usually call the * object's PersistentPeer method to perform the * actual save. * @exception PersistenceException thrown when an error occurs in restoring * @see com.planet_ink.coffee_mud.core.intermud.persist.PersistentPeer */ public abstract void restore() throws PersistenceException; /** * Prescribes a method for saving this object's data * to a data store. An implementation will usually * check to see if the object has been modified and * trigger the actual saving mechanism in its * PersistentPeer implementation. * @exception PersistentPeer thrown when an error occurs in saving * @see com.planet_ink.coffee_mud.core.intermud.persist.PersistentPeer */ public abstract void save() throws PersistenceException; }