DataObjectDescriptor Class Reference

#include </tmp/marcocle/lhcb-release/1122/GAUDI/GAUDI_v27r0/InstallArea/x86_64-slc6-gcc49-opt/include/GaudiKernel/DataObjectDescriptor.h>

Collaboration diagram for DataObjectDescriptor:

Public Member Functions

 DataObjectDescriptor (const std::string &tag, const std::string &address, const bool optional=false, const MinimalDataObjectHandle::AccessType accessType=MinimalDataObjectHandle::READ)
 
 DataObjectDescriptor (const std::string &tag, const std::vector< std::string > &addresses, const bool optional=false, const MinimalDataObjectHandle::AccessType accessType=MinimalDataObjectHandle::READ)
 
MinimalDataObjectHandle::AccessType accessType () const
 
void setAccessType (MinimalDataObjectHandle::AccessType accessType)
 
bool optional () const
 
void setOptional (bool optional)
 
const std::string & address () const
 
const std::vector< std::string > & alternativeAddresses () const
 
void setAddress (const std::string &address)
 
void setAddresses (const std::vector< std::string > &address)
 
void setAltAddresses (const std::vector< std::string > &addresses)
 
const std::string & tag () const
 
void setTag (const std::string &tag)
 
const std::string toString () const
 
void fromString (const std::string &s)
 
const std::string pythonRepr () const
 
bool valid () const
 
 DataObjectDescriptor (const std::string &tag, const std::string &address, const bool optional=false, const MinimalDataObjectHandle::AccessType accessType=MinimalDataObjectHandle::READ)
 
 DataObjectDescriptor (const std::string &tag, const std::vector< std::string > &addresses, const bool optional=false, const MinimalDataObjectHandle::AccessType accessType=MinimalDataObjectHandle::READ)
 
MinimalDataObjectHandle::AccessType accessType () const
 
void setAccessType (MinimalDataObjectHandle::AccessType accessType)
 
bool optional () const
 
void setOptional (bool optional)
 
const std::string & address () const
 
const std::vector< std::string > & alternativeAddresses () const
 
void setAddress (const std::string &address)
 
void setAddresses (const std::vector< std::string > &address)
 
void setAltAddresses (const std::vector< std::string > &addresses)
 
const std::string & tag () const
 
void setTag (const std::string &tag)
 
const std::string toString () const
 
void fromString (const std::string &s)
 
const std::string pythonRepr () const
 
bool valid () const
 

Static Public Member Functions

static std::string tag (const std::string &s)
 
static std::string tag (const std::string &s)
 

Static Public Attributes

static const std::string NULL_ = "NULL"
 

Private Member Functions

 DataObjectDescriptor (const DataObjectDescriptor &value)
 
DataObjectDescriptoroperator= (const DataObjectDescriptor &value)
 
void setAltAddresses (const std::vector< std::string > &addresses, bool skipFirst)
 
 DataObjectDescriptor (const DataObjectDescriptor &value)
 
DataObjectDescriptoroperator= (const DataObjectDescriptor &value)
 
void setAltAddresses (const std::vector< std::string > &addresses, bool skipFirst)
 

Private Attributes

std::string m_tag
 
std::string m_address
 
std::vector< std::string > m_altAddresses
 
bool m_optional
 
MinimalDataObjectHandle::AccessType m_accessType
 

Detailed Description

Definition at line 19 of file DataObjectDescriptor.h.

Constructor & Destructor Documentation

DataObjectDescriptor::DataObjectDescriptor ( const std::string &  tag,
const std::string &  address,
const bool  optional = false,
const MinimalDataObjectHandle::AccessType  accessType = MinimalDataObjectHandle::READ 
)
inline

Definition at line 26 of file DataObjectDescriptor.h.

MinimalDataObjectHandle::AccessType accessType() const
const std::string & tag() const
const std::string & address() const
MinimalDataObjectHandle::AccessType m_accessType
DataObjectDescriptor::DataObjectDescriptor ( const std::string &  tag,
const std::vector< std::string > &  addresses,
const bool  optional = false,
const MinimalDataObjectHandle::AccessType  accessType = MinimalDataObjectHandle::READ 
)
inline

Definition at line 32 of file DataObjectDescriptor.h.

37 
38  setAltAddresses(addresses, true); //
39  };
MinimalDataObjectHandle::AccessType accessType() const
void setAltAddresses(const std::vector< std::string > &addresses)
const std::string & tag() const
MinimalDataObjectHandle::AccessType m_accessType
DataObjectDescriptor::DataObjectDescriptor ( const DataObjectDescriptor value)
private
DataObjectDescriptor::DataObjectDescriptor ( const std::string &  tag,
const std::string &  address,
const bool  optional = false,
const MinimalDataObjectHandle::AccessType  accessType = MinimalDataObjectHandle::READ 
)
inline

Definition at line 26 of file DataObjectDescriptor.h.

MinimalDataObjectHandle::AccessType accessType() const
const std::string & tag() const
const std::string & address() const
MinimalDataObjectHandle::AccessType m_accessType
DataObjectDescriptor::DataObjectDescriptor ( const std::string &  tag,
const std::vector< std::string > &  addresses,
const bool  optional = false,
const MinimalDataObjectHandle::AccessType  accessType = MinimalDataObjectHandle::READ 
)
inline

Definition at line 32 of file DataObjectDescriptor.h.

37 
38  setAltAddresses(addresses, true); //
39  };
MinimalDataObjectHandle::AccessType accessType() const
void setAltAddresses(const std::vector< std::string > &addresses)
const std::string & tag() const
MinimalDataObjectHandle::AccessType m_accessType
DataObjectDescriptor::DataObjectDescriptor ( const DataObjectDescriptor value)
private

Member Function Documentation

MinimalDataObjectHandle::AccessType DataObjectDescriptor::accessType ( ) const

Definition at line 75 of file DataObjectDescriptor.cpp.

75  {
76  return m_accessType;
77 }
MinimalDataObjectHandle::AccessType m_accessType
MinimalDataObjectHandle::AccessType DataObjectDescriptor::accessType ( ) const
const std::string & DataObjectDescriptor::address ( ) const

Definition at line 110 of file DataObjectDescriptor.cpp.

110  {
111  return m_address;
112 }
const std::string& DataObjectDescriptor::address ( ) const
const std::vector<std::string>& DataObjectDescriptor::alternativeAddresses ( ) const
const std::vector< std::string > & DataObjectDescriptor::alternativeAddresses ( ) const

Definition at line 114 of file DataObjectDescriptor.cpp.

114  {
115  return m_altAddresses;
116 }
std::vector< std::string > m_altAddresses
void DataObjectDescriptor::fromString ( const std::string &  s)
void DataObjectDescriptor::fromString ( const std::string &  s)

Definition at line 49 of file DataObjectDescriptor.cpp.

49  {
50 
51  if(s == "") //nothing to do
52  return;
53 
54  std::vector<std::string> items;
55 
56  boost::split(items, s, boost::is_any_of(boost::lexical_cast<std::string>(FIELD_SEP)), boost::token_compress_on);
57 
58  setTag(items[0]);
59 
60  if(LIKELY(items[1].find(ADDR_SEP) == std::string::npos))
61  setAddress(items[1]); //address
62  else { //alternative addresses provided
63  std::vector<std::string> addr;
64  boost::split(addr, items[1], boost::is_any_of(boost::lexical_cast<std::string>(ADDR_SEP)), boost::token_compress_on);
65 
66  setAddress(addr[0]); //main address
67  setAltAddresses(addr, true); //set alternatives, skipping first
68  }
69 
70  setOptional(boost::lexical_cast<bool>( items[2] ));
71  setAccessType(MinimalDataObjectHandle::AccessType(boost::lexical_cast<int>( items[3] )));
72 
73 }
const char FIELD_SEP
void setTag(const std::string &tag)
void setAltAddresses(const std::vector< std::string > &addresses)
const char ADDR_SEP
void setAddress(const std::string &address)
void setOptional(bool optional)
string s
Definition: gaudirun.py:245
void setAccessType(MinimalDataObjectHandle::AccessType accessType)
AccessType
The type of the access.
#define LIKELY(x)
Definition: Kernel.h:125
DataObjectDescriptor& DataObjectDescriptor::operator= ( const DataObjectDescriptor value)
private
DataObjectDescriptor& DataObjectDescriptor::operator= ( const DataObjectDescriptor value)
private
bool DataObjectDescriptor::optional ( ) const

Definition at line 84 of file DataObjectDescriptor.cpp.

84  {
85  return m_optional;
86 }
bool DataObjectDescriptor::optional ( ) const
const std::string DataObjectDescriptor::pythonRepr ( ) const

Definition at line 45 of file DataObjectDescriptor.cpp.

45  {
46  return "DataObjectDescriptor(\"" + toString() + "\")";
47 }
const std::string toString() const
const std::string DataObjectDescriptor::pythonRepr ( ) const
void DataObjectDescriptor::setAccessType ( MinimalDataObjectHandle::AccessType  accessType)
void DataObjectDescriptor::setAccessType ( MinimalDataObjectHandle::AccessType  accessType)

Definition at line 79 of file DataObjectDescriptor.cpp.

80  {
82 }
MinimalDataObjectHandle::AccessType accessType() const
MinimalDataObjectHandle::AccessType m_accessType
void DataObjectDescriptor::setAddress ( const std::string &  address)

Definition at line 118 of file DataObjectDescriptor.cpp.

118  {
119  //if(!m_handle || !m_handle->initialized())
120  m_address = address;
121 }
const std::string & address() const
void DataObjectDescriptor::setAddress ( const std::string &  address)
void DataObjectDescriptor::setAddresses ( const std::vector< std::string > &  address)

Definition at line 123 of file DataObjectDescriptor.cpp.

123  {
124  //if(!m_handle || !m_handle->initialized()){
125  if(!addresses.empty()){
126  setAddress(addresses[0]);
127  setAltAddresses(addresses, true);
128  }
129  //}
130 }
void setAltAddresses(const std::vector< std::string > &addresses)
void setAddress(const std::string &address)
void DataObjectDescriptor::setAddresses ( const std::vector< std::string > &  address)
void DataObjectDescriptor::setAltAddresses ( const std::vector< std::string > &  addresses)
inline

Definition at line 60 of file DataObjectDescriptor.h.

60  {
61  setAltAddresses(addresses, false);
62  }
void setAltAddresses(const std::vector< std::string > &addresses)
void DataObjectDescriptor::setAltAddresses ( const std::vector< std::string > &  addresses)
inline

Definition at line 60 of file DataObjectDescriptor.h.

60  {
61  setAltAddresses(addresses, false);
62  }
void setAltAddresses(const std::vector< std::string > &addresses)
void DataObjectDescriptor::setAltAddresses ( const std::vector< std::string > &  addresses,
bool  skipFirst 
)
private

Definition at line 132 of file DataObjectDescriptor.cpp.

132  {
133  //if(!m_handle || !m_handle->initialized())
134  m_altAddresses.assign(addresses.begin() + skipFirst, addresses.end());
135 }
std::vector< std::string > m_altAddresses
void DataObjectDescriptor::setAltAddresses ( const std::vector< std::string > &  addresses,
bool  skipFirst 
)
private
void DataObjectDescriptor::setOptional ( bool  optional)

Definition at line 88 of file DataObjectDescriptor.cpp.

void DataObjectDescriptor::setOptional ( bool  optional)
void DataObjectDescriptor::setTag ( const std::string &  tag)
void DataObjectDescriptor::setTag ( const std::string &  tag)

Definition at line 96 of file DataObjectDescriptor.cpp.

96  {
97  m_tag = tag;
98 }
const std::string & tag() const
const std::string & DataObjectDescriptor::tag ( ) const

Definition at line 92 of file DataObjectDescriptor.cpp.

92  {
93  return m_tag;
94 }
const std::string& DataObjectDescriptor::tag ( ) const
std::string DataObjectDescriptor::tag ( const std::string &  s)
static

Definition at line 100 of file DataObjectDescriptor.cpp.

100  {
101  std::vector<std::string> items;
102 
103  boost::split(items, s,
104  boost::is_any_of(boost::lexical_cast<std::string>(FIELD_SEP)),
105  boost::token_compress_on);
106 
107  return items[0];
108 }
const char FIELD_SEP
string s
Definition: gaudirun.py:245
static std::string DataObjectDescriptor::tag ( const std::string &  s)
static
const std::string DataObjectDescriptor::toString ( ) const
const std::string DataObjectDescriptor::toString ( ) const

Definition at line 26 of file DataObjectDescriptor.cpp.

26  {
27  std::stringstream str;
28 
29  str << m_tag << FIELD_SEP;
30  str << m_address;
31 
32  if(UNLIKELY(!m_altAddresses.empty())){
33  for(auto & s : m_altAddresses)
34  str << ADDR_SEP << s;
35  }
36 
37  str << FIELD_SEP;
38 
39  str << boost::lexical_cast<std::string>(m_optional) << FIELD_SEP;
40  str << boost::lexical_cast<std::string>(m_accessType);
41 
42  return str.str();
43 }
const char FIELD_SEP
const char ADDR_SEP
std::vector< std::string > m_altAddresses
MinimalDataObjectHandle::AccessType m_accessType
string s
Definition: gaudirun.py:245
#define UNLIKELY(x)
Definition: Kernel.h:126
bool DataObjectDescriptor::valid ( ) const
inline

Definition at line 74 of file DataObjectDescriptor.h.

74  {
75  return address() != NULL_;
76  }
const std::string & address() const
static const std::string NULL_
bool DataObjectDescriptor::valid ( ) const
inline

Definition at line 74 of file DataObjectDescriptor.h.

74  {
75  return address() != NULL_;
76  }
const std::string & address() const
static const std::string NULL_

Member Data Documentation

MinimalDataObjectHandle::AccessType DataObjectDescriptor::m_accessType
private

Definition at line 86 of file DataObjectDescriptor.h.

std::string DataObjectDescriptor::m_address
private

Definition at line 83 of file DataObjectDescriptor.h.

std::vector< std::string > DataObjectDescriptor::m_altAddresses
private

Definition at line 84 of file DataObjectDescriptor.h.

bool DataObjectDescriptor::m_optional
private

Definition at line 85 of file DataObjectDescriptor.h.

std::string DataObjectDescriptor::m_tag
private

Definition at line 82 of file DataObjectDescriptor.h.

static const std::string DataObjectDescriptor::NULL_ = "NULL"
static

Definition at line 22 of file DataObjectDescriptor.h.


The documentation for this class was generated from the following files: