org.red5.server.api.persistence
Interface IPersistable

All Known Implementing Classes:
ClientSharedObject, PersistableAttributeStore, SharedObject

public interface IPersistable

Base interface for objects that can be made persistent. Every object that complies to this interface must provide either a constructor that takes an input stream as only parameter or an empty constructor so it can be loaded from the persistence store. However this is not required for objects that are created by the application and initialized afterwards.

Author:
The Red5 Project ([email protected]), Luke Hubbard ([email protected]), Joachim Bauch ([email protected])
See Also:
Input, IPersistenceStore.load(String)

Field Summary
static String TRANSIENT_PREFIX
          Prefix for attribute names that should not be made persistent.
 
Method Summary
 void deserialize(Input input)
          Load the object from the passed input stream.
 long getLastModified()
          Returns the timestamp when the object was last modified.
 String getName()
          Returns the name of the persistent object.
 String getPath()
          Returns the path of the persistent object.
 IPersistenceStore getStore()
          Returns the persistence store this object is stored in
 String getType()
          Returns the type of the persistent object.
 boolean isPersistent()
          Returns true if the object is persistent, false otherwise.
 void serialize(Output output)
          Write the object to the passed output stream.
 void setName(String name)
          Set the name of the persistent object.
 void setPath(String path)
          Set the path of the persistent object.
 void setPersistent(boolean persistent)
          Set the persistent flag of the object.
 void setStore(IPersistenceStore store)
          Store a reference to the persistence store in the object.
 

Field Detail

TRANSIENT_PREFIX

static final String TRANSIENT_PREFIX
Prefix for attribute names that should not be made persistent.

See Also:
Constant Field Values
Method Detail

isPersistent

boolean isPersistent()
Returns true if the object is persistent, false otherwise.

Returns:
true if object is persistent, false otherwise

setPersistent

void setPersistent(boolean persistent)
Set the persistent flag of the object.

Parameters:
persistent - true if object is persistent, false otherwise

getName

String getName()
Returns the name of the persistent object.

Returns:
Object name

setName

void setName(String name)
Set the name of the persistent object.

Parameters:
name - New object name

getType

String getType()
Returns the type of the persistent object.

Returns:
Object type

getPath

String getPath()
Returns the path of the persistent object.

Returns:
Persisted object path

setPath

void setPath(String path)
Set the path of the persistent object.

Parameters:
path - New persisted object path

getLastModified

long getLastModified()
Returns the timestamp when the object was last modified.

Returns:
Last modification date in milliseconds

getStore

IPersistenceStore getStore()
Returns the persistence store this object is stored in

Returns:
This object's persistence store

setStore

void setStore(IPersistenceStore store)
Store a reference to the persistence store in the object.

Parameters:
store - Store the object is saved in

serialize

void serialize(Output output)
               throws IOException
Write the object to the passed output stream.

Parameters:
output - Output stream to write to
Throws:
IOException - Any I/O exception

deserialize

void deserialize(Input input)
                 throws IOException
Load the object from the passed input stream.

Parameters:
input - Input stream to load from
Throws:
IOException - Any I/O exception


Copyright © 2006-2012 The Red5 Project