ATLAS Offline Software
RDBVersionAccessor.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
15 #ifndef RDBACCESSSVC_RDBVERSIONACCESSOR_H
16 #define RDBACCESSSVC_RDBVERSIONACCESSOR_H
17 
18 #include <string>
19 #include "GaudiKernel/MsgStream.h"
20 
21 namespace coral
22 {
23  class ISessionProxy;
24  class AttributeList;
25 }
26 
27 class MsgStream;
37 {
38  public:
44  RDBVersionAccessor(const std::string& childNode
45  , const std::string& parentNode
46  , const std::string& parentTag
47  , coral::ISessionProxy* session
48  , MsgStream& stream);
49 
51  void getChildTagData();
52 
54  inline std::string getNodeName() const {return m_childNode;}
55 
56 
58  inline std::string getTagName() const {return m_tagName;}
59 
61  inline std::string getTagID() const {return m_tagID;}
62 
65  inline bool isLeaf() const {return m_isChildLeaf;}
66  private:
69 
70  // Convert attribute value to std::string
71  std::string attribute2String(const coral::AttributeList& attList
72  , const std::string& fieldName);
73 
74  coral::ISessionProxy* m_session;
75 
76  std::string m_childNode;
77  std::string m_parentNode;
78  std::string m_parentTag;
79 
80  std::string m_tagName;
81  std::string m_tagID;
83 
84  MsgStream& m_msgStream;
85 };
86 
87 #endif
RDBVersionAccessor::m_parentNode
std::string m_parentNode
Definition: RDBVersionAccessor.h:77
RDBVersionAccessor::getTagName
std::string getTagName() const
Definition: RDBVersionAccessor.h:58
RDBVersionAccessor::getNodeName
std::string getNodeName() const
Definition: RDBVersionAccessor.h:54
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
RDBVersionAccessor::RDBVersionAccessor
RDBVersionAccessor()
Default constructor.
RDBVersionAccessor::m_msgStream
MsgStream & m_msgStream
Definition: RDBVersionAccessor.h:84
coral
Definition: ISecondaryEventSelector.h:19
RDBVersionAccessor
RDBVersionAccessor is a helper class navigating HVS tree and getting child node tag by the tag of one...
Definition: RDBVersionAccessor.h:37
RDBVersionAccessor::m_isChildLeaf
bool m_isChildLeaf
Definition: RDBVersionAccessor.h:82
RDBVersionAccessor::getChildTagData
void getChildTagData()
Constructs SQL query and retrieves child tag ID and Name from DB.
Definition: RDBVersionAccessor.cxx:50
taskman.fieldName
fieldName
Definition: taskman.py:492
RDBVersionAccessor::m_tagID
std::string m_tagID
Definition: RDBVersionAccessor.h:81
RDBVersionAccessor::m_childNode
std::string m_childNode
Definition: RDBVersionAccessor.h:76
RDBVersionAccessor::m_session
coral::ISessionProxy * m_session
Definition: RDBVersionAccessor.h:74
RDBVersionAccessor::m_tagName
std::string m_tagName
Definition: RDBVersionAccessor.h:80
RDBVersionAccessor::getTagID
std::string getTagID() const
Definition: RDBVersionAccessor.h:61
RDBVersionAccessor::m_parentTag
std::string m_parentTag
Definition: RDBVersionAccessor.h:78
RDBVersionAccessor::attribute2String
std::string attribute2String(const coral::AttributeList &attList, const std::string &fieldName)
Definition: RDBVersionAccessor.cxx:331
RDBVersionAccessor::isLeaf
bool isLeaf() const
Definition: RDBVersionAccessor.h:65