logplus/OSGDataModel/include/DataObject.h
2025-11-10 16:35:40 +08:00

198 lines
3.9 KiB
C++

/**
* @file DataObject.h
* @brief 测井对象基类
*/
#ifndef PAI_FRAME_IOSERVICE_DATAOBJECT_H
#define PAI_FRAME_IOSERVICE_DATAOBJECT_H
#include <string>
#include <vector>
// #include "Turtle.h"
namespace pai {
namespace ios {
namespace welllog {
/**
*@class DataObject
*@brief 定义测井管理基类
*/
class DataObject
{
public:
/**
* @brief 构造函数
*/
DataObject():m_DataID(0),
m_DataBelongID(0),
m_Name(""),
m_Creator(""),
m_CreateData(0),
m_ModifyData(0),
m_LastAccessData(0)
{
}
/**
* @brief 析构函数
*/
virtual ~DataObject(){};
/**
* @brief 拷贝构造函数
*/
DataObject(const DataObject& wobject):m_DataID(wobject.GetDataID()),
m_DataBelongID(wobject.GetDataBelongID()),
m_Name(wobject.GetName()),
m_Creator(wobject.GetCreator()),
m_CreateData(wobject.GetCreateData()),
m_ModifyData(wobject.GetModifyData()),
m_LastAccessData(wobject.GetLastAccessData())
{
}
/**
* @brief 赋值
*/
DataObject & operator=(const DataObject& wobject)
{
if (this == &wobject)
return *this;
this->SetDataID(wobject.GetDataID());
this->SetDataBelongID(wobject.GetDataBelongID());
this->SetName(wobject.GetName());
this->SetCreator(wobject.GetCreator());
this->SetCreateData(wobject.GetCreateData());
this->SetModifyData(wobject.GetModifyData());
this->SetLastAccessData(wobject.GetLastAccessData());
return *this;
}
/**
* @brief 保存数据
*/
virtual void Save() = 0;
/**
* @brief 根据ID获取对象信息
* @param[in]id数据ID
*/
virtual void Get(long long id) = 0;
/**
* @brief 修改数据
*/
virtual void Update() = 0;
/**
* @brief 删除数据
*/
virtual void Delete(long long id = 0) = 0;
/**
* @brief 取得创建时间
*/
long long GetCreateData() const
{
return m_CreateData;
}
/**
* @brief 取得创建者
*/
std::string GetCreator() const
{
return m_Creator;
}
/**
* @brief 取得数据所属ID
*/
long long GetDataBelongID() const
{
return m_DataBelongID;
}
/**
* @brief 取得数据ID
*/
long long GetDataID() const
{
return m_DataID;
}
/**
* @brief 取得最后访问时间
*/
long long GetLastAccessData() const
{
return m_LastAccessData;
}
/**
* @brief 取得修改时间
*/
long long GetModifyData() const
{
return m_ModifyData;
}
/**
* @brief 取得数据名
*/
std::string GetName() const
{
return m_Name;
}
/**
* @brief 设置创建时间
*/
void SetCreateData(long long createData)
{
this->m_CreateData = createData;
}
/**
* @brief 设置创建者
*/
void SetCreator(std::string creator)
{
this->m_Creator = creator;
}
/**
* @brief 设置数据所属ID
*/
void SetDataBelongID(long long dataBelongID)
{
this->m_DataBelongID = dataBelongID;
}
/**
* @brief 设置数据ID
*/
void SetDataID(long long dataID)
{
this->m_DataID = dataID;
}
/**
* @brief 设置最后访问时间
*/
void SetLastAccessData(long long lastAccessData)
{
this->m_LastAccessData = lastAccessData;
}
/**
* @brief 设置修改时间
*/
void SetModifyData(long long modifyData)
{
this->m_ModifyData = modifyData;
}
/**
* @brief 设置数据名
*/
void SetName(std::string name)
{
this->m_Name = name;
}
private:
long long m_DataID; ///<数据ID
long long m_DataBelongID; ///<数据所属ID
std::string m_Name; ///<数据名
std::string m_Creator; ///<创建者
long long m_CreateData; ///<创建时间
long long m_ModifyData; ///<修改时间
long long m_LastAccessData; ///<最后访问时间
};
}
}
}
#endif