1#ifndef INC_GLOTALLSET_H
2#define INC_GLOTALLSET_H
224 TAllSet(
Base & rBase,
bool bWithSubClasses =
true );
245 TAllSet(
Base & rBase,
const std::string & rsFullIndexName );
266 TAllSet(
Base & rBase,
const char * pszFullIndexName );
546 int get( std::shared_ptr<T> & rRetVal,
const glo::ObjID & rObjID );
563 virtual int getPersistent( std::shared_ptr<BasePersistent> & rRetVal,
728 const std::string & rsIndexSearchValue,
731 const std::string & rsIndexSearchValue,
775 const std::string & rsFullIndexName,
776 const std::string & rsIndexSearchValue,
779 const std::string & rsFullIndexName,
780 const std::string & rsIndexSearchValue,
829 const std::string & rsIndexName,
830 unsigned long ulIndexClassID,
831 const std::string & rsIndexSearchValue,
834 const std::string & rsIndexName,
835 unsigned long ulIndexClassID,
836 const std::string & rsIndexSearchValue,
882 const std::string & rsIndexSearchValue,
885 const std::string & rsIndexSearchValue,
936 const std::string & rsFullIndexName,
937 const std::string & rsIndexSearchValue,
940 const std::string & rsFullIndexName,
941 const std::string & rsIndexSearchValue,
997 const std::string & rsIndexName,
998 unsigned long ulIndexClassID,
999 const std::string & rsIndexSearchValue,
1002 const std::string & rsIndexName,
1003 unsigned long ulIndexClassID,
1004 const std::string & rsIndexSearchValue,
1042 const std::string & rsRangeStartIndex,
1043 const std::string & rsRangeEndIndex );
1045 const std::string & rsRangeStartIndex,
1046 const std::string & rsRangeEndIndex );
1091 const std::string & rsFullIndexName,
1092 const std::string & rsRangeStartIndexSearchValue,
1093 const std::string & rsRangeEndIndexSearchValue );
1095 const std::string & rsFullIndexName,
1096 const std::string & rsRangeStartIndexSearchValue,
1097 const std::string & rsRangeEndIndexSearchValue );
1148 const std::string & rsIndexName,
1149 unsigned long ulIndexClassID,
1150 const std::string & rsRangeStartIndexSearchValue,
1151 const std::string & rsRangeEndIndexSearchValue );
1153 const std::string & rsIndexName,
1154 unsigned long ulIndexClassID,
1155 const std::string & rsRangeStartIndexSearchValue,
1156 const std::string & rsRangeEndIndexSearchValue );
1300 #define SUPER BaseAllSet
1302 template <
class T >
1309 SUPER::setClassIDFromTemplate( T::getStaticGloClassID() );
1312 template <
class T >
1314 :
SUPER( rBase, 0, bWithSubClasses )
1319 SUPER::setClassIDFromTemplate( T::getStaticGloClassID() );
1322 template <
class T >
1329 SUPER::setClassIDFromTemplate( T::getStaticGloClassID() );
1330 int t_iErr = SUPER::setFullIndexName( rsFullIndexName );
1333 throw eut::ErrorNException(
"TAllSet::setBase(Base * pBase, unsigned long ulClassID, const std::string & rsFullIndexName)", t_iErr, __FILE__, __LINE__ );
1337 template <
class T >
1344 SUPER::setClassIDFromTemplate( T::getStaticGloClassID() );
1345 int t_iErr = SUPER::setFullIndexName( pszFullIndexName );
1348 throw eut::ErrorNException(
"TAllSet::setBase(Base * pBase, unsigned long ulClassID, const std::string & rsFullIndexName)", t_iErr, __FILE__, __LINE__ );
1352 template <
class T >
1357 template <
class T >
1361 return this->
get( t_TempObjID, prRetVal, eMode );
1364 template <
class T >
1368 return this->
get( t_TempObjID, rRetVal, eMode );
1371 template <
class T >
1377 t_iErr = this->
open();
1382 t_iErr = this->
getBase()->getObjectFromAllSet( rObjID, t_pGetObj, *
this, eMode );
1387 prRetVal =
dynamic_cast<T*
>( t_pGetObj );
1394 t_iErr = this->
getBase()->getObjectFromAllSet( rObjID, t_pGetObj, *
this,
glo::NEXT );
1405 }
while ( ! t_iErr );
1411 template <
class T >
1414 T * t_pPersistent =
nullptr;
1415 int t_iErr = this->
get( rObjID, t_pPersistent, eMode );
1417 if ( t_pPersistent )
1419 rRetVal = std::shared_ptr<T>( t_pPersistent,
Forgetter<T>() );
1428 template <
class T >
1437 t_iErr = this->
getBase()->getAnObject( prRetVal, rObjID );
1446 template <
class T >
1452 t_iErr = this->
open();
1458 t_iErr = this->
getBase()->getAnObject( t_pReceivedObject, rObjID );
1461 prRetVal =
dynamic_cast<T*
>( t_pReceivedObject );
1464 t_pReceivedObject->
forget();
1477 template <
class T >
1480 T * t_pPersistent =
nullptr;
1481 int t_iErr = this->
get( t_pPersistent, rObjID );
1483 if ( t_pPersistent )
1485 rRetVal = std::shared_ptr<T>( t_pPersistent,
Forgetter<T>() );
1494 template <
class T >
1496 const ObjID & rObjID )
1498 return SUPER::getPersistent( rRetVal, rObjID );
1501 template <
class T >
1506 t_iErr = this->
open();
1511 t_iErr = this->
getBase()->getObjIdFromAllSet( t_ObjID, *
this, eMode );
1515 bool t_bIsKnownClassID =
false;
1517 t_iErr = this->
getBase()->isKnownClassID( t_bIsKnownClassID, t_ObjID.
getClassID() );
1520 if ( ! t_bIsKnownClassID )
1542 template <
class T >
1546 int t_iErr = this->
getOndemand( t_pTempGloTOndemand, eMode );
1548 if ( t_pTempGloTOndemand )
1550 rRetVal = std::shared_ptr<T>( t_pTempGloTOndemand );
1559 template <
class T >
1563 int t_iErr = this->
getOndemand( t_pTempGloTOndemand, eMode );
1565 if ( t_pTempGloTOndemand )
1567 rRetVal = * t_pTempGloTOndemand;
1568 delete t_pTempGloTOndemand;
1573 template <
class T >
1575 const std::string & rsIndexSearchValue,
1579 std::vector< ObjID > t_ObjIDContainer;
1591 template <
class T >
1593 const std::string & rsIndexSearchValue,
1597 std::vector< ObjID > t_ObjIDContainer;
1609 template <
class T >
1611 const std::string & rsFullIndexName,
1612 const std::string & rsIndexSearchValue,
1616 std::vector< ObjID > t_ObjIDContainer;
1629 template <
class T >
1631 const std::string & rsFullIndexName,
1632 const std::string & rsIndexSearchValue,
1636 std::vector< ObjID > t_ObjIDContainer;
1649 template <
class T >
1651 const std::string & rsIndexName,
1652 unsigned long ulIndexClassID,
1653 const std::string & rsIndexSearchValue,
1657 std::vector< ObjID > t_ObjIDContainer;
1671 template <
class T >
1673 const std::string & rsIndexName,
1674 unsigned long ulIndexClassID,
1675 const std::string & rsIndexSearchValue,
1679 std::vector< ObjID > t_ObjIDContainer;
1693 template <
class T >
1695 const std::string & rsIndexSearchValue,
1699 std::vector< ObjID > t_ObjIDContainer;
1712 template <
class T >
1714 const std::string & rsIndexSearchValue,
1718 std::vector< ObjID > t_ObjIDContainer;
1731 template <
class T >
1733 const std::string & rsFullIndexName,
1734 const std::string & rsIndexSearchValue,
1738 std::vector< ObjID > t_ObjIDContainer;
1752 template <
class T >
1754 const std::string & rsFullIndexName,
1755 const std::string & rsIndexSearchValue,
1759 std::vector< ObjID > t_ObjIDContainer;
1773 template <
class T >
1775 const std::string & rsIndexName,
1776 unsigned long ulIndexClassID,
1777 const std::string & rsIndexSearchValue,
1781 std::vector< ObjID > t_ObjIDContainer;
1796 template <
class T >
1798 const std::string & rsIndexName,
1799 unsigned long ulIndexClassID,
1800 const std::string & rsIndexSearchValue,
1804 std::vector< ObjID > t_ObjIDContainer;
1819 template <
class T >
1821 const std::string & rsRangeStartIndex,
1822 const std::string & rsRangeEndIndex )
1825 std::vector< ObjID > t_ObjIDContainer;
1838 template <
class T >
1840 const std::string & rsRangeStartIndex,
1841 const std::string & rsRangeEndIndex )
1844 std::vector< ObjID > t_ObjIDContainer;
1857 template <
class T >
1859 const std::string & rsFullIndexName,
1860 const std::string & rsRangeStartIndexSearchValue,
1861 const std::string & rsRangeEndIndexSearchValue )
1864 std::vector< ObjID > t_ObjIDContainer;
1868 rsRangeStartIndexSearchValue,
1869 rsRangeEndIndexSearchValue );
1878 template <
class T >
1880 const std::string & rsFullIndexName,
1881 const std::string & rsRangeStartIndexSearchValue,
1882 const std::string & rsRangeEndIndexSearchValue )
1885 std::vector< ObjID > t_ObjIDContainer;
1889 rsRangeStartIndexSearchValue,
1890 rsRangeEndIndexSearchValue );
1899 template <
class T >
1901 const std::string & rsIndexName,
1902 unsigned long ulIndexClassID,
1903 const std::string & rsRangeStartIndexSearchValue,
1904 const std::string & rsRangeEndIndexSearchValue )
1907 std::vector< ObjID > t_ObjIDContainer;
1912 rsRangeStartIndexSearchValue,
1913 rsRangeEndIndexSearchValue );
1922 template <
class T >
1924 const std::string & rsIndexName,
1925 unsigned long ulIndexClassID,
1926 const std::string & rsRangeStartIndexSearchValue,
1927 const std::string & rsRangeEndIndexSearchValue )
1930 std::vector< ObjID > t_ObjIDContainer;
1935 rsRangeStartIndexSearchValue,
1936 rsRangeEndIndexSearchValue );
1945 template <
class T >
1948 int t_iErr = this->
open();
1959 pCallBack = t_pConstCastThis;
1969 template <
class T >
1979 pCallBack = t_pConstCastThis;
1982 ulWatchMode, pCallBack );
1985 template <
class T >
1989 for ( std::vector<ObjID>::const_iterator t_Iterator = rSourceContainer.begin();
1990 t_Iterator != rSourceContainer.end();
1997 template <
class T >
2001 for ( std::vector<ObjID>::const_iterator t_Iterator = rSourceContainer.begin();
2002 t_Iterator != rSourceContainer.end();
Header für BasePersistent
#define SUPER
Definition GloTAllSet.h:1300
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
Diese Exception-Klasse hat zusätzlich zur Message ein Integer-Attribute für eine Fehlernummer.
Definition EuException.h:73
int getIndexedObjIds(std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
friend class Base
Definition GloBaseAllSet.h:212
virtual Base * getBase() const override
unsigned long getClassID() const
Abstrakte Basisklasse für Persistent und die generische GenericPersistent.
Definition GloBasePersistent.h:124
virtual unsigned int forget()
Oberklasse für die Klassen, welche mit einer Base 'verbunden' sind.
Definition GloCallBack.h:81
std::string m_strDebugInfo
Definition GloCallBack.h:111
Speziel für GenericPersistent oder abgeleitete Klassen von Persistent die Forget-Methode für std::sha...
Definition GloTypes.h:1253
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZ...
Definition GloObjID.h:84
unsigned long getClassID() const
virtual int appendOndemand(const Reference &rNewOndemand)
int getIndexedOndemands(std::vector< glo::TOndemand< T > > &rOndemandContainer, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
Liefert einen Container von glo::TOndemand's aus dem AllSet in Bezug auf die übergebene Parameter.
Definition GloTAllSet.h:1574
void transferObjIListIntoOndemandContainer(const std::vector< glo::ObjID > &rSourceContainer, std::vector< glo::TOndemand< T > > &rTargetConteiner)
Überträgt die glo::ObjID's aus der übergebenen rSourceContainer als glo::TOndemand's in den übergeben...
Definition GloTAllSet.h:1986
virtual int getPersistent(BasePersistent *&prRetVal, const glo::ObjID &rObjID)
Liefert ein Objekt aus dem AllSet der Datenbank mit übergebener Objekt-ID.
Definition GloTAllSet.h:1429
int get(T *&prRetVal, EnSeekMode eMode)
Definition GloTAllSet.h:1358
TAllSet()
Definition GloTAllSet.h:1303
virtual int setWatch(TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)
Definition GloTAllSet.h:1946
static unsigned long getStaticGloClassID()
Definition GloTAllSet.h:309
virtual ~TAllSet()
Definition GloTAllSet.h:1353
virtual int unsetWatch(TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)
Definition GloTAllSet.h:1970
TAllSet< T > & operator=(const TAllSet &)
int getOndemand(glo::TOndemand< T > *&prRetVal, EnSeekMode eMode)
Definition GloTAllSet.h:1502
Referenz (als Attribut) eines persistenten Objekte auf ein anderes persistentes Objekt in der Datenba...
Definition GloTOndemand.h:102
Eine typsichere Liste von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut f...
Definition GloTOndemandList.h:95
Definition GloAbstractBaseLot.h:49
@ ERR_NO_BASE
Definition GloErrors.h:584
@ ERR_BASE_NOT_OPEN
Definition GloErrors.h:617
@ ERR_WRONG_TYPE
Definition GloErrors.h:551
EnComparisionOp
Definition GloTypes.h:1586
EnSeekMode
Definition GloTypes.h:192
@ END
Definition GloTypes.h:214
@ START
Definition GloTypes.h:203
@ PREVIOUS
Definition GloTypes.h:247
@ NEXT
Definition GloTypes.h:236
EnQueryType
Definition GloTypes.h:1183
unsigned long TdWatchNotifyMode
Definition GloTypes.h:577