Jpp
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
JDATABASE::JDatabaseObjectIterator< T > Class Template Reference

Object iteration from database. More...

#include <JDatabaseObjectIterator.hh>

Inheritance diagram for JDATABASE::JDatabaseObjectIterator< T >:
JLANG::JAbstractObjectIterator< T > JLANG::JObjectIterator< T >

Public Types

typedef JObjectIterator< T >::pointer_type pointer_type
 

Public Member Functions

 JDatabaseObjectIterator (const JSelector &selection)
 Constructor. More...
 
 JDatabaseObjectIterator (const std::string &query, const JSelector &selection)
 Constructor. More...
 
 ~JDatabaseObjectIterator ()
 Destructor. More...
 
virtual bool setObject (T &object)
 Set object. More...
 
virtual bool hasNext ()
 Check availability of next element. More...
 
virtual const pointer_typenext ()
 Get next element. More...
 
virtual skip_type skip (const skip_type ns)
 Skip items. More...
 

Protected Attributes

object
 object More...
 
bool has_next
 status More...
 

Private Attributes

ResultSet & rs
 
pointer_type ps
 

Detailed Description

template<class T>
class JDATABASE::JDatabaseObjectIterator< T >

Object iteration from database.

This class implements the JLANG::JObjectIterator interface.

Definition at line 52 of file JDatabaseObjectIterator.hh.

Member Typedef Documentation

◆ pointer_type

template<class T>
typedef JObjectIterator<T>::pointer_type JLANG::JAbstractObjectIterator< T >::pointer_type
inherited

Definition at line 39 of file JAbstractObjectIterator.hh.

Constructor & Destructor Documentation

◆ JDatabaseObjectIterator() [1/2]

template<class T>
JDATABASE::JDatabaseObjectIterator< T >::JDatabaseObjectIterator ( const JSelector selection)
inline

Constructor.

Parameters
selectionselection

Definition at line 61 of file JDatabaseObjectIterator.hh.

61  :
62  rs(getResultSet(getTable<T>(), selection))
63  {}

◆ JDatabaseObjectIterator() [2/2]

template<class T>
JDATABASE::JDatabaseObjectIterator< T >::JDatabaseObjectIterator ( const std::string &  query,
const JSelector selection 
)
inline

Constructor.

This constructor is used to select a table by name.

Parameters
queryquery / table name
selectionselection

Definition at line 74 of file JDatabaseObjectIterator.hh.

74  :
75  rs(query == getTable<T>() ? getResultSet(query, selection) : JNullResultSet::getInstance())
76  {}

◆ ~JDatabaseObjectIterator()

template<class T>
JDATABASE::JDatabaseObjectIterator< T >::~JDatabaseObjectIterator ( )
inline

Destructor.

Definition at line 82 of file JDatabaseObjectIterator.hh.

83  {
84  //rs.Close();
85  }

Member Function Documentation

◆ setObject()

template<class T>
virtual bool JDATABASE::JDatabaseObjectIterator< T >::setObject ( T &  object)
inlinevirtual

Set object.

Parameters
objectreference to object to be set
Returns
true if set; else false

Implements JLANG::JAbstractObjectIterator< T >.

Definition at line 94 of file JDatabaseObjectIterator.hh.

95  {
96  return (rs >> object);
97  }

◆ hasNext()

template<class T>
virtual bool JLANG::JAbstractObjectIterator< T >::hasNext ( )
inlinevirtualinherited

Check availability of next element.

Returns
true if the iteration has more elements; else false

Implements JLANG::JObjectIterator< T >.

Definition at line 56 of file JAbstractObjectIterator.hh.

57  {
58  if (!has_next) {
59  has_next = this->setObject(object);
60  }
61 
62  return has_next;
63  }

◆ next()

template<class T>
virtual const pointer_type& JLANG::JAbstractObjectIterator< T >::next ( )
inlinevirtualinherited

Get next element.

Returns
pointer to element

Implements JLANG::JObjectIterator< T >.

Definition at line 71 of file JAbstractObjectIterator.hh.

72  {
73  if (has_next)
74  ps.reset(&this->object);
75  else
76  ps.reset(NULL);
77 
78  has_next = false;
79 
80  return ps;
81  }

◆ skip()

template<class T>
virtual skip_type JLANG::JObjectIterator< T >::skip ( const skip_type  ns)
inlinevirtualinherited

Member Data Documentation

◆ rs

template<class T>
ResultSet& JDATABASE::JDatabaseObjectIterator< T >::rs
private

Definition at line 100 of file JDatabaseObjectIterator.hh.

◆ object

template<class T>
T JLANG::JAbstractObjectIterator< T >::object
protectedinherited

object

Definition at line 34 of file JAbstractObjectIterator.hh.

◆ has_next

template<class T>
bool JLANG::JAbstractObjectIterator< T >::has_next
protectedinherited

status

Definition at line 35 of file JAbstractObjectIterator.hh.

◆ ps

template<class T>
pointer_type JLANG::JAbstractObjectIterator< T >::ps
privateinherited

Definition at line 84 of file JAbstractObjectIterator.hh.


The documentation for this class was generated from the following file:
JLANG::skip_type
unsigned int skip_type
Type definition for number of objects to skip.
Definition: JObjectIterator.hh:25
JLANG::JSingleton::getInstance
static data_type & getInstance()
Get unique instance of template class.
Definition: JSingleton.hh:27
JLANG::JObjectIterator::hasNext
virtual bool hasNext()=0
Check availability of next element.
JDATABASE::getResultSet
ResultSet & getResultSet(const std::string &query)
Get result set.
Definition: JDB.hh:403
JLANG::JPointer::reset
virtual void reset()
Reset pointer.
Definition: JPointer.hh:84
JDATABASE::JDatabaseObjectIterator::rs
ResultSet & rs
Definition: JDatabaseObjectIterator.hh:100
JLANG::JAbstractObjectIterator::has_next
bool has_next
status
Definition: JAbstractObjectIterator.hh:35
JLANG::JAbstractObjectIterator::ps
pointer_type ps
Definition: JAbstractObjectIterator.hh:84
JLANG::JAbstractObjectIterator::setObject
virtual bool setObject(T &object)=0
Set object.
JLANG::JObjectIterator::next
virtual const pointer_type & next()=0
Get next element.