00001 #ifndef ENTITY_H 00002 #define ENTITY_H 00003 00004 #include "BON.h" 00005 00006 class Entity 00007 { 00008 00009 public: 00010 explicit Entity( const BON::Folder& parent, const BON::FCO& p, const BON::FCO& p2 = BON::FCO()) 00011 : m_pointer( p), m_respPointer( p2), m_parentFolder( parent), m_deleted( false) { } 00012 00013 Entity( const Entity & operand ) 00014 : m_pointer(operand.m_pointer) 00015 , m_respPointer( operand.m_respPointer) 00016 , m_parentFolder( operand.m_parentFolder) 00017 , m_deleted( operand.m_deleted) 00018 { } 00019 00020 const Entity& operator=(const Entity& operand) 00021 { 00022 if (&operand == this) return *this; 00023 00024 m_pointer = operand.m_pointer; 00025 m_respPointer = operand.m_respPointer; 00026 m_parentFolder = operand.m_parentFolder; 00027 m_deleted = operand.m_deleted; 00028 00029 return *this; 00030 } 00031 00032 ~Entity() { } 00033 00034 bool operator==( const Entity& peer) { return (m_pointer == peer.m_pointer) && (m_respPointer == peer.m_respPointer) && (m_parentFolder == peer.m_parentFolder) && (m_deleted == peer.m_deleted); } 00035 bool operator!=( const Entity& peer) { return !(*this==peer); } 00036 bool operator<( const Entity& peer) const 00037 { 00038 BON::FCO f1 ( getPointer()); 00039 BON::FCO f2 ( peer.getPointer()); 00040 return ( f1->getName().compare( f2->getName()) < 0); 00041 } 00042 00043 BON::FCO getPointer() const { return m_pointer; } 00044 BON::FCO getRespPointer() const { return m_respPointer; } 00045 BON::Folder getParentFolder() const { return m_parentFolder; } 00046 void setPointer( const BON::FCO& p) { m_pointer = p; } 00047 void setRespPointer( const BON::FCO& r_p) { m_respPointer = r_p; } 00048 void setParentFolder( const BON::Folder& pf) { m_parentFolder = pf; } 00049 bool isDeleted() const { return m_deleted; } 00050 void deleted( const bool val) { m_deleted = val; } 00051 00052 private: 00053 BON::FCO m_pointer; 00054 BON::FCO m_respPointer; 00055 BON::Folder m_parentFolder; 00056 bool m_deleted; 00057 }; 00058 00059 00060 #endif // ENTITY_H 00061 00062