#include <iso_serialize_serializable.h>
Inherited by iso::serialize::SerializeManager.
Inheritance diagram for iso::serialize::Serializable:
Public Member Functions | |
virtual SerializeData | serialize (const base::String &pSerialName=sClassName) const =0 |
create SerializeData object | |
virtual | ~Serializable () |
destructor | |
Static Public Member Functions | |
static Serializable * | deSerialize (const SerializeData &pSerializeData) throw (SerializeException) |
create object from SerializeData | |
Static Public Attributes | |
static const base::String | sClassName |
class name |
object class
abstract base class for all objects which are serializable
in order for an object to be serializable is must have the following properties: a static classname : that's the name by which the class is identified within the xml document (if not overwritten) a method to create a serialize_data object which contains all the necessary information to build a class instance from it a constructor which accepts a serialize_data object in order to create a class instance a static method to create a class instance from a serialize_data object every serializable class needs to register itself automatically in the serialize_manager: i.e. const String Event::sClassName = SerializeManager::get().registerSerializable<Event>("Event");
Created by Daniel Bisig on 8/20/06. Copyright 2006 Daniel Bisig All rights reserved.
Serializable::~Serializable | ( | ) | [virtual] |
destructor
virtual SerializeData iso::serialize::Serializable::serialize | ( | const base::String & | pSerialName = sClassName |
) | const [pure virtual] |
create SerializeData object
pSerialName | overwrites default serial name |
Implemented in iso::serialize::SerializeManager.
static Serializable* iso::serialize::Serializable::deSerialize | ( | const SerializeData & | pSerializeData | ) | throw (SerializeException) [inline, static] |
create object from SerializeData
pSerializeData | SerializeData |
SerializeException | incompatible SerializeData |
Reimplemented in iso::serialize::SerializeManager.
const base::String Serializable::sClassName [static] |