Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ICollectionDescription.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef COLLECTIONBASE_ICOLLECTIONDESCRIPTION_H
6 #define COLLECTIONBASE_ICOLLECTIONDESCRIPTION_H
7 
8 #include <string>
9 #include <vector>
10 #include <typeinfo>
11 
12 
13 namespace pool {
14 
15  class ICollectionColumn;
16 
25  {
26  public:
28  virtual const std::string& name() const = 0;
29 
31  virtual const std::string& type() const = 0;
32 
34  virtual const std::string& connection() const = 0;
35 
40  virtual const std::string& eventReferenceColumnName() const = 0;
41 
45  virtual bool hasEventReferenceColumn() const = 0;
46 
51  virtual int numberOfColumns() const = 0;
52 
59  virtual const ICollectionColumn& column( const std::string& columnName ) const = 0;
60 
62  virtual const ICollectionColumn* columnPtr( const std::string& columnName ) const = 0;
63 
67  virtual int numberOfTokenColumns() const = 0;
68 
75  virtual const ICollectionColumn& tokenColumn( const std::string& columnName ) const = 0;
76 
83  virtual const ICollectionColumn& tokenColumn( int columnId ) const = 0;
84 
88  virtual int numberOfAttributeColumns( ) const = 0;
89 
96  virtual const ICollectionColumn& attributeColumn( const std::string& columnName ) const = 0;
97 
104  virtual const ICollectionColumn& attributeColumn( int columnId ) const = 0;
105 
111  virtual bool equals( const ICollectionDescription& rhs ) const = 0;
112 
119  virtual bool isSubsetOf( const ICollectionDescription& rhs ) const = 0;
120 
122  virtual void printOut() const {}
123 
124  protected:
127  };
128 
129 }
130 
131 #endif
132 
pool::ICollectionDescription::attributeColumn
virtual const ICollectionColumn & attributeColumn(const std::string &columnName) const =0
Returns a description object for an Attribute column of the collection, given the name of the column.
pool::ICollectionDescription::eventReferenceColumnName
virtual const std::string & eventReferenceColumnName() const =0
Returns the name reserved for the event reference Token column.
pool::ICollectionDescription::name
virtual const std::string & name() const =0
Returns the name of the collection.
pool::ICollectionDescription::tokenColumn
virtual const ICollectionColumn & tokenColumn(int columnId) const =0
Returns a description object for a Token column of the collection, given the position of the column.
pool::ICollectionDescription::attributeColumn
virtual const ICollectionColumn & attributeColumn(int columnId) const =0
Returns a description object for an Attribute column of the collection, given the position of the col...
pool::ICollectionDescription::numberOfAttributeColumns
virtual int numberOfAttributeColumns() const =0
Returns the number of Attribute columns.
pool::ICollectionDescription::numberOfTokenColumns
virtual int numberOfTokenColumns() const =0
Returns the number of Token columns (including the event reference column if it is used)
pool
pool namespace
Definition: libname.h:15
pool::ICollectionDescription::numberOfColumns
virtual int numberOfColumns() const =0
Returns the number of columns (including the event reference column if it is used) in the collection.
pool::ICollectionDescription::type
virtual const std::string & type() const =0
Returns the storage technology type of the collection.
pool::ICollectionDescription::column
virtual const ICollectionColumn & column(const std::string &columnName) const =0
Returns a description object for a column of the collection, given the name of the column.
pool::ICollectionDescription::connection
virtual const std::string & connection() const =0
Returns the connection to the database containing the collection.
pool::ICollectionDescription::tokenColumn
virtual const ICollectionColumn & tokenColumn(const std::string &columnName) const =0
Returns a description object for a Token column of the collection, given the name of the column.
pool::ICollectionDescription::hasEventReferenceColumn
virtual bool hasEventReferenceColumn() const =0
Indicates whether the collection contains the event reference column.
pool::ICollectionDescription::~ICollectionDescription
virtual ~ICollectionDescription()
Empty destructor.
Definition: ICollectionDescription.h:126
pool::ICollectionColumn
Definition: ICollectionColumn.h:19
pool::ICollectionDescription::isSubsetOf
virtual bool isSubsetOf(const ICollectionDescription &rhs) const =0
Check if all columns from this Description are present in the rhs Description and if they have the sa...
pool::ICollectionDescription::equals
virtual bool equals(const ICollectionDescription &rhs) const =0
Check if both Descriptions have the same columns.
pool::ICollectionDescription::printOut
virtual void printOut() const
print out the description (optional debugging)
Definition: ICollectionDescription.h:122
pool::ICollectionDescription::columnPtr
virtual const ICollectionColumn * columnPtr(const std::string &columnName) const =0
return pointer to Column or NULL if it's not found (will not throw exceptions)
pool::ICollectionDescription
Definition: ICollectionDescription.h:25