Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

rdbModel::InsertNew Class Reference

#include <InsertNew.h>

List of all members.

Public Member Functions

Visitor::VisitorState accept (Visitor *v)
Visitor::VisitorState accept (Visitor *v)
void addInterRow (InterRow *interRow)
void addInterRow (InterRow *interRow)
const AssertiongetInternal () const
const AssertiongetInternal () const
const std::vector< InterRow * > & getInterRow () const
const std::vector< InterRow * > & getInterRow () const
const AssertiongetOfficial () const
const AssertiongetOfficial () const
const TablegetTable () const
const TablegetTable () const
 InsertNew (Table *table, Assertion *internal, Assertion *official)
 InsertNew (Table *table, Assertion *internal, Assertion *official)
 ~InsertNew ()
 ~InsertNew ()

Private Attributes

Assertionm_internal
 internal consistency conditions
Assertionm_internal
 internal consistency conditions
std::vector< InterRow * > m_interRow
std::vector< InterRow * > m_interRow
Tablem_myTable
Tablem_myTable
Assertionm_official
 conditions to be satisfied to show row is worth the extra trouble
Assertionm_official
 conditions to be satisfied to show row is worth the extra trouble


Detailed Description

Keep track of constraints on insertion of new row, not intended to replace any existing row. o Internal constraints to insure new row is self-consistent o Look for conflicts with existing rows; specify what to do to correct if found.


Constructor & Destructor Documentation

rdbModel::InsertNew::InsertNew Table table,
Assertion internal,
Assertion official
[inline]
 

00024       : m_myTable(table), m_internal(internal), m_official(official) {
00025       m_interRow.clear();
00026     }

rdbModel::InsertNew::~InsertNew  ) 
 

00010                         {
00011     while (m_interRow.size() ) {
00012       InterRow* i  = m_interRow.back();
00013       m_interRow.pop_back();
00014       delete i;
00015     }
00016   }

rdbModel::InsertNew::InsertNew Table table,
Assertion internal,
Assertion official
[inline]
 

00024       : m_myTable(table), m_internal(internal), m_official(official) {
00025       m_interRow.clear();
00026     }

rdbModel::InsertNew::~InsertNew  ) 
 


Member Function Documentation

Visitor::VisitorState rdbModel::InsertNew::accept Visitor v  ) 
 

Visitor::VisitorState rdbModel::InsertNew::accept Visitor v  ) 
 

00018                                                   {
00019     Visitor::VisitorState state = v->visitInsertNew(this);
00020     if (state == Visitor::VBRANCHDONE) return Visitor::VCONTINUE;
00021 
00022     unsigned n = m_interRow.size();
00023     for (unsigned i = 0; i < n; i++) {
00024       state = m_interRow[i]->accept(v);
00025       if (state != Visitor::VCONTINUE) return state;
00026     }
00027     return state;
00028   }

void rdbModel::InsertNew::addInterRow InterRow interRow  )  [inline]
 

00039 {m_interRow.push_back(interRow);}

void rdbModel::InsertNew::addInterRow InterRow interRow  )  [inline]
 

00039 {m_interRow.push_back(interRow);}

const Assertion* rdbModel::InsertNew::getInternal  )  const [inline]
 

00030 {return m_internal;}

const Assertion* rdbModel::InsertNew::getInternal  )  const [inline]
 

00030 {return m_internal;}

const std::vector<InterRow*>& rdbModel::InsertNew::getInterRow  )  const [inline]
 

00032 {return m_interRow;}

const std::vector<InterRow*>& rdbModel::InsertNew::getInterRow  )  const [inline]
 

00032 {return m_interRow;}

const Assertion* rdbModel::InsertNew::getOfficial  )  const [inline]
 

00031 {return m_official;}

const Assertion* rdbModel::InsertNew::getOfficial  )  const [inline]
 

00031 {return m_official;}

const Table* rdbModel::InsertNew::getTable  )  const [inline]
 

00034 {return m_myTable;}

const Table* rdbModel::InsertNew::getTable  )  const [inline]
 

00034 {return m_myTable;}


Member Data Documentation

Assertion* rdbModel::InsertNew::m_internal [private]
 

internal consistency conditions

Assertion* rdbModel::InsertNew::m_internal [private]
 

internal consistency conditions

std::vector<InterRow*> rdbModel::InsertNew::m_interRow [private]
 

std::vector<InterRow*> rdbModel::InsertNew::m_interRow [private]
 

Table* rdbModel::InsertNew::m_myTable [private]
 

Table* rdbModel::InsertNew::m_myTable [private]
 

Assertion* rdbModel::InsertNew::m_official [private]
 

conditions to be satisfied to show row is worth the extra trouble

Assertion* rdbModel::InsertNew::m_official [private]
 

conditions to be satisfied to show row is worth the extra trouble


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 19:22:16 2011 for BOSS6.5.5 by  doxygen 1.3.9.1