The Gaudi Framework  v36r11 (bdb84f5f)
GaudiConfig2._configurables.Property Class Reference
Inheritance diagram for GaudiConfig2._configurables.Property:
Collaboration diagram for GaudiConfig2._configurables.Property:

Public Member Functions

def __init__ (self, cpp_type, default, doc="undocumented", semantics=None)
 
def cpp_type (self)
 
def name (self)
 
def __get__ (self, instance, owner)
 
def __set__ (self, instance, value)
 
def __delete__ (self, instance)
 
def __set_name__ (self, owner, name)
 
def __is_set__ (self, instance, owner)
 
def __opt_value__ (self, instance, owner)
 
def __merge__ (self, instance, owner, value)
 

Public Attributes

 semantics
 
 default
 

Private Attributes

 __doc__
 

Detailed Description

Descriptor class to implement validation of Configurable properties.

Definition at line 35 of file _configurables.py.

Constructor & Destructor Documentation

◆ __init__()

def GaudiConfig2._configurables.Property.__init__ (   self,
  cpp_type,
  default,
  doc = "undocumented",
  semantics = None 
)

Definition at line 40 of file _configurables.py.

40  def __init__(self, cpp_type, default, doc="undocumented", semantics=None):
41  from .semantics import getSemanticsFor
42 
43  self.semantics = getSemanticsFor(semantics or cpp_type)
44  self.default = default
45  self.__doc__ = doc
46 

Member Function Documentation

◆ __delete__()

def GaudiConfig2._configurables.Property.__delete__ (   self,
  instance 
)

Definition at line 63 of file _configurables.py.

63  def __delete__(self, instance):
64  del instance._properties[self.name]
65 

◆ __get__()

def GaudiConfig2._configurables.Property.__get__ (   self,
  instance,
  owner 
)

Definition at line 55 of file _configurables.py.

55  def __get__(self, instance, owner):
56  if self.name not in instance._properties and hasattr(self.semantics, "default"):
57  instance._properties[self.name] = self.semantics.default(self.default)
58  return self.semantics.load(instance._properties.get(self.name, self.default))
59 

◆ __is_set__()

def GaudiConfig2._configurables.Property.__is_set__ (   self,
  instance,
  owner 
)

Definition at line 69 of file _configurables.py.

69  def __is_set__(self, instance, owner):
70  try:
71  value = instance._properties[self.name]
72  return self.semantics.is_set(value)
73  except KeyError:
74  return False
75 

◆ __merge__()

def GaudiConfig2._configurables.Property.__merge__ (   self,
  instance,
  owner,
  value 
)
Return "merge" (according to the semantic) of the value
in this property and the incoming value.

Definition at line 81 of file _configurables.py.

81  def __merge__(self, instance, owner, value):
82  """
83  Return "merge" (according to the semantic) of the value
84  in this property and the incoming value.
85  """
86  if not self.__is_set__(instance, owner):
87  return value
88  return self.semantics.merge(self.__get__(instance, owner), value)
89 
90 

◆ __opt_value__()

def GaudiConfig2._configurables.Property.__opt_value__ (   self,
  instance,
  owner 
)

Definition at line 76 of file _configurables.py.

76  def __opt_value__(self, instance, owner):
77  return self.semantics.opt_value(
78  instance._properties.get(self.name, self.default)
79  )
80 

◆ __set__()

def GaudiConfig2._configurables.Property.__set__ (   self,
  instance,
  value 
)

Definition at line 60 of file _configurables.py.

60  def __set__(self, instance, value):
61  instance._properties[self.name] = self.semantics.store(value)
62 

◆ __set_name__()

def GaudiConfig2._configurables.Property.__set_name__ (   self,
  owner,
  name 
)

Definition at line 66 of file _configurables.py.

66  def __set_name__(self, owner, name):
67  self.semantics.name = name
68 

◆ cpp_type()

def GaudiConfig2._configurables.Property.cpp_type (   self)

Definition at line 48 of file _configurables.py.

48  def cpp_type(self):
49  return self.semantics.cpp_type
50 

◆ name()

def GaudiConfig2._configurables.Property.name (   self)

Definition at line 52 of file _configurables.py.

52  def name(self):
53  return self.semantics.name
54 

Member Data Documentation

◆ __doc__

GaudiConfig2._configurables.Property.__doc__
private

Definition at line 45 of file _configurables.py.

◆ default

GaudiConfig2._configurables.Property.default

Definition at line 44 of file _configurables.py.

◆ semantics

GaudiConfig2._configurables.Property.semantics

Definition at line 43 of file _configurables.py.


The documentation for this class was generated from the following file:
GaudiConfig2.semantics.getSemanticsFor
def getSemanticsFor(cpp_type, name=None)
Definition: semantics.py:510
gaudirun.default
default
Definition: gaudirun.py:188
TimingHistograms.name
name
Definition: TimingHistograms.py:25
merge
int merge(const char *target, const char *source, bool fixup=false, bool dbg=true)
Definition: merge.C:430