Klasse für die Blob-Attribute eines Record.
Mehr ...
#include <GloBlobRecordAttribute.h>
|
| BlobRecordAttribute (ClassInfoAttribute *pType, const eut::Blob &rValue, const std::streampos &rFilePos) |
|
| BlobRecordAttribute (ClassInfoAttribute *pType, const std::streampos &rFilePos) |
|
virtual bool | dataIsFieldContent () const |
|
virtual int | getAttributeValueBlob (eut::Blob &rBlob) const |
|
virtual BaseRecordAttribute * | getCopy () |
|
virtual unsigned short | getDataFieldLength () const |
|
virtual std::string | getDataReference () const |
|
const std::string & | getFileName () const |
|
virtual int | getFormattedFieldContents (std::string &rsRetVal, DATA_REFERENCE_INFO &rRetValInfo, ObjID ObjID) |
|
virtual std::string | getValueAsDataString () const |
|
virtual std::string | getValueAsDisplayString () const |
|
virtual std::string | getValueAsStreamString () const |
|
virtual std::string | getValueAsString () const |
|
virtual void * | getValueAsVoidPointer () |
|
const eut::Blob & | getValueRef () const |
|
virtual void | initNew () |
|
virtual void | setDataReference (const std::string &rsDataReference) |
|
void | setDeterminedFileNameFromAttributeValue (ObjID ObjID) |
|
void | setFileName (const std::string &rsFileName) |
|
int | setValue (char *pData, std::size_t nDataSize, bool bCopy=true) |
|
void | setValue (const eut::Blob &rValue) |
|
virtual void | setValueFromVoid (void *pValue) |
|
virtual int | takeValue (const BaseRecordAttribute &rT) |
|
virtual int | updateDataReference (const std::string &rsDataPath, DATA_REFERENCE_INFO MethodInfo) |
|
|
bool | operator== (const BlobRecordAttribute &rT) const |
|
bool | operator!= (const BlobRecordAttribute &rT) const |
|
| BaseRecordAttribute (ClassInfoAttribute *pClassInfoAttribut, const std::streampos &rFilePos) |
|
virtual | ~BaseRecordAttribute () |
|
unsigned int | forget () |
|
AttributeID | getAttributeID () const |
|
ClassInfoAttribute * | getClassInfoAttribute () const |
|
std::string | getClassMemberName () const |
|
std::string | getClassName () const |
|
EnDataType | getDataType () const |
|
std::string | getFieldName () const |
|
int | getFieldPos () |
|
std::streampos | getFilePosition () const |
|
EnDataTypeGroup | getInfoType () |
|
unsigned int | getReferenceCount () const |
|
std::string | getTableFieldName () const |
|
std::string | getTableName () const |
|
ClassInfoAttribute::Type | getType () const |
|
std::string | getTypeAsCppString () const |
|
std::string | getTypeAsString () const |
|
std::string | getTypeInfo () const |
|
unsigned int | remember () |
|
void | setFilePosition (const std::streampos &rFilePos) |
|
virtual int | setValueFromObjectAttributeID (Persistent &rObject, const AttributeID &rAttributeID) |
|
bool | operator== (const BaseRecordAttribute &rT) const |
| Vergleichsoperator, es werden alle Attribute verglichen.
|
|
bool | operator!= (const BaseRecordAttribute &rT) const |
| Vergleichsoperator, es werden alle Attribute verglichen.
|
|
Klasse für die Blob-Attribute eines Record.
Repräsentiert ein Attribut vom Typ 'eut::Blob' von einem persistenten Objekt.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ BlobRecordAttribute() [1/4]
glo::BlobRecordAttribute::BlobRecordAttribute |
( |
| ) |
|
|
protected |
Der Standard-Konstruktor steht nicht zur Verfügung.
◆ ~BlobRecordAttribute()
virtual glo::BlobRecordAttribute::~BlobRecordAttribute |
( |
| ) |
|
|
protectedvirtual |
Der Destruktor steht nicht zur Verfügung. Das Objekt darf nur über forget() aus dem Speicher entfernt werden.
◆ BlobRecordAttribute() [2/4]
glo::BlobRecordAttribute::BlobRecordAttribute |
( |
ClassInfoAttribute * | pType, |
|
|
const std::streampos & | rFilePos ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | pType | Es wird ein Klasseninformations-Attribut erwartet. |
[in] | rFilePos | Die Dateiposition. |
- Ausnahmebehandlung
-
- Achtung
- Da Objekte dieser Klassen nur von internen Objekten wie Record und TableReaderInterface instanziiert werden, und die wissen was sie tun, wird auf eine Typüberprüfung des Klasseninformations-Attribut verzichtet!
◆ BlobRecordAttribute() [3/4]
glo::BlobRecordAttribute::BlobRecordAttribute |
( |
ClassInfoAttribute * | pType, |
|
|
const eut::Blob & | rValue, |
|
|
const std::streampos & | rFilePos ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | pType | Es wird ein Klasseninformations-Attribut erwartet. |
[in] | rValue | Der Wert des Attributs. |
[in] | rFilePos | Die Dateiposition. |
- Ausnahmebehandlung
-
- Achtung
- Da Objekte dieser Klassen nur von internen Objekten wie Record und TableReaderInterface instanziiert werden, und die wissen was sie tun, wird auf eine Typüberprüfung des Klasseninformations-Attribut verzichtet!
◆ BlobRecordAttribute() [4/4]
Copy-Konstruktor.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
- Siehe auch
- getCopy()
◆ dataIsFieldContent()
virtual bool glo::BlobRecordAttribute::dataIsFieldContent |
( |
| ) |
const |
|
virtual |
Liefert false, da Attributdaten eines Blobs grundsätzlich ausserhalb der Tabelle abgelgt werden. In der Tabelle wird der Dateiname der Datei mit den Daten des Blobs gespeichert.
- Rückgabe
- s.o.
Implementiert glo::BaseRecordAttribute.
◆ getAttributeValueBlob()
virtual int glo::BlobRecordAttribute::getAttributeValueBlob |
( |
eut::Blob & | rBlob | ) |
const |
|
virtual |
◆ getCopy()
Liefert eine Kopie des Objektes. Manchmal braucht man auch eine Kopie eines Attributs, z.B. wenn ein tiefkopierter Record (mit kopierten Attributen) gebraucht wird.
- Rückgabe
- Die Kopie dieses Attributs
- Achtung
- Das gelieferte Objekt muss von aufrufender Instanz aus dem Speicher entfernt werden.
Implementiert glo::BaseRecordAttribute.
◆ getDataFieldLength()
virtual unsigned short glo::BlobRecordAttribute::getDataFieldLength |
( |
| ) |
const |
|
virtual |
Liefert die Datensatzfeldlänge des Attributwertes. Ist in diesem Fall immer die Länge der Dateibezeichnung der Datei, in der das Blob untergebracht werden soll.
- Rückgabe
- Die Feldlänge.
- Siehe auch
- BLOB_TEXT_LENGTH
Implementiert glo::BaseRecordAttribute.
◆ getDataReference()
virtual std::string glo::BlobRecordAttribute::getDataReference |
( |
| ) |
const |
|
virtual |
Liefert die Dateibezeichnung in welcher die Daten des Blobs abgelegt werden.
- Rückgabe
- Ggf. die vorhandene Dateibezeichnung. Wenn leer, dann gibts wohl keine.
- Zu beachten
- Die Dateibezeichnung wird mit vollständigen Pfad geliefert.
Erneute Implementation von glo::BaseRecordAttribute.
◆ getFileName()
const std::string & glo::BlobRecordAttribute::getFileName |
( |
| ) |
const |
Liefert die Bezeichnung der Datei, in welcher das Blob untergebracht werden soll.
- Rückgabe
- Die Dateibezeichnung.
- Zu beachten
- Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung geliefert.
◆ getFormattedFieldContents()
virtual int glo::BlobRecordAttribute::getFormattedFieldContents |
( |
std::string & | rsRetVal, |
|
|
DATA_REFERENCE_INFO & | rRetValInfo, |
|
|
ObjID | ObjID ) |
|
virtual |
Liefert die Bezeichnung der externen Datei mit den Daten des Attributs und eine Information ob diese neu geschrieben, behalten oder gelöscht werden muss, wenn es einen zu speichernden Inhalt gibt. Es wird die Bezeichnung der externen Datei auch im Attribut m_sFileName gesetzt.
- Parameter
-
[in,out] | rsRetVal | Das Tabellenfeld wie es geschrieben werden soll. |
[in,out] | rRetValInfo | Die Information wie mit einer externen Datei umgegangen werden soll. |
[in] | ObjID | Falls ein Dateiname kreiert werden muss, wird die Dateibezeichnung aus dieser Objekt-ID gebildet. I.d.R. ist dies die Objekt-ID des Objektes, dessen Attributwert erfragt wird. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
Erneute Implementation von glo::BaseRecordAttribute.
◆ getValueAsDataString()
virtual std::string glo::BlobRecordAttribute::getValueAsDataString |
( |
| ) |
const |
|
virtual |
◆ getValueAsDisplayString()
virtual std::string glo::BlobRecordAttribute::getValueAsDisplayString |
( |
| ) |
const |
|
virtual |
Liefert den Wert, wie er für das GUI angezeigt werden kann.
- Rückgabe
- Der Wert für die Anzeige.
Implementiert glo::BaseRecordAttribute.
◆ getValueAsStreamString()
virtual std::string glo::BlobRecordAttribute::getValueAsStreamString |
( |
| ) |
const |
|
virtual |
◆ getValueAsString()
virtual std::string glo::BlobRecordAttribute::getValueAsString |
( |
| ) |
const |
|
virtual |
◆ getValueAsVoidPointer()
virtual void * glo::BlobRecordAttribute::getValueAsVoidPointer |
( |
| ) |
|
|
virtual |
◆ getValueRef()
const eut::Blob & glo::BlobRecordAttribute::getValueRef |
( |
| ) |
const |
Liefert die Referenz auf den Wert.
- Rückgabe
- Der Wert.
◆ initNew()
virtual void glo::BlobRecordAttribute::initNew |
( |
| ) |
|
|
virtual |
◆ operator!=()
Vergleichsoperator, es werden alle Attribute verglichen.
- Parameter
-
[in] | rT | Das mit diesem zu vergleichende Objekt. |
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ operator==()
Vergleichsoperator, es werden alle Attribute verglichen.
- Parameter
-
[in] | rT | Das mit diesem zu vergleichende Objekt. |
◆ setDataReference()
virtual void glo::BlobRecordAttribute::setDataReference |
( |
const std::string & | rsDataReference | ) |
|
|
virtual |
Setzt die Bezeichnung der Datei, in welcher das Blob gespeichert werden soll.
- Parameter
-
[in] | rsDataReference | Die Dateibezeichnung. |
- Zu beachten
- Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung übergeben, falls jemand in die Verlegenheit kommt, diese Methode selbst aufrufen zu müssen.
Erneute Implementation von glo::BaseRecordAttribute.
◆ setDeterminedFileNameFromAttributeValue()
void glo::BlobRecordAttribute::setDeterminedFileNameFromAttributeValue |
( |
ObjID | ObjID | ) |
|
Setzt die ermittelte Bezeichnung der Datei, in welcher das Blob untergebracht werden soll, wenn es was zu speichern gibt.
- Parameter
-
[in] | ObjID | Falls ein Dateiname kreiert werden muss, wird die Dateibezeichnung aus dieser Objekt-ID gebildet. I.d.R. ist dies die Objekt-ID des Objektes, dessen Attributwert erfragt wird. |
◆ setFileName()
void glo::BlobRecordAttribute::setFileName |
( |
const std::string & | rsFileName | ) |
|
Setzt die Bezeichnung der Datei, in welcher das Blob untergebracht werden soll.
- Parameter
-
[in] | rsFileName | Die Dateibezeichnung. |
- Zu beachten
- Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung übergeben, falls jemand in die Verlegenheit kommt, diese Methode selbst aufrufen zu müssen.
◆ setValue() [1/2]
int glo::BlobRecordAttribute::setValue |
( |
char * | pData, |
|
|
std::size_t | nDataSize, |
|
|
bool | bCopy = true ) |
Setzt den Wert des Attributs.
- Parameter
-
[in] | pData | Ein Zeiger auf einen allocierten Speicher. |
[in] | nDataSize | Die Größe von pData. |
[in] | bCopy | Wenn false, wird pData nicht kopiert, sondern nur der rohe Zeiger gesetzt. |
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
◆ setValue() [2/2]
void glo::BlobRecordAttribute::setValue |
( |
const eut::Blob & | rValue | ) |
|
Setzt den Wert des Attributs.
- Parameter
-
◆ setValueFromVoid()
virtual void glo::BlobRecordAttribute::setValueFromVoid |
( |
void * | pValue | ) |
|
|
virtual |
Setzt den Wert des Attributs. Wird über einen static_cast zugewiesen.
- Parameter
-
[in] | pValue | Der roher Zeiger auf den Wert. |
Implementiert glo::BaseRecordAttribute.
◆ takeValue()
Übernimmt den Wert aus übergebenen Attribut, wenn möglich. Es wird versucht, den Wert irgendwie zu casten.
- Parameter
-
[in] | rT | Das persistente Attribut aus dem der Wert übernommen werden soll. |
- Rückgabe
- Es wird eine Fehler- bzw. Warnmeldung geliefert, wenn der Cast nicht funktionier.
Erneute Implementation von glo::BaseRecordAttribute.
◆ updateDataReference()
virtual int glo::BlobRecordAttribute::updateDataReference |
( |
const std::string & | rsDataPath, |
|
|
DATA_REFERENCE_INFO | MethodInfo ) |
|
virtual |
Löscht bzw. schreibt eine externe Datei mit den Daten des Blob.
- Parameter
-
[in] | rsDataPath | Der vollständigen Verzeichnisnamen, in dem die Daten zu finden sind. Die Daten liegen immer in einem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt (z.B. "C:/Pfad/Data/"). |
[in] | MethodInfo | Die Information wie mit einer externen Datei umgegangen werden soll. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
Erneute Implementation von glo::BaseRecordAttribute.
◆ m_sFileName
std::string glo::BlobRecordAttribute::m_sFileName |
|
private |
Ein Blob wird immer in einer Datei dieser Bezeichnung untergebracht.
◆ m_Value
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: