The Gaudi Framework  master (594c33fa)
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 31 of file _configurables.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 36 of file _configurables.py.

36  def __init__(self, cpp_type, default, doc="undocumented", semantics=None):
37  from .semantics import getSemanticsFor
38 
39  self.semantics = getSemanticsFor(semantics or cpp_type)
40  self.default = default
41  self.__doc__ = doc
42 

Member Function Documentation

◆ __delete__()

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

Definition at line 59 of file _configurables.py.

59  def __delete__(self, instance):
60  del instance._properties[self.name]
61 

◆ __get__()

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

Definition at line 51 of file _configurables.py.

51  def __get__(self, instance, owner):
52  if self.name not in instance._properties and hasattr(self.semantics, "default"):
53  instance._properties[self.name] = self.semantics.default(self.default)
54  return self.semantics.load(instance._properties.get(self.name, self.default))
55 

◆ __is_set__()

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

Definition at line 65 of file _configurables.py.

65  def __is_set__(self, instance, owner):
66  try:
67  value = instance._properties[self.name]
68  return self.semantics.is_set(value)
69  except KeyError:
70  return False
71 

◆ __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 77 of file _configurables.py.

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

◆ __opt_value__()

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

Definition at line 72 of file _configurables.py.

72  def __opt_value__(self, instance, owner):
73  return self.semantics.opt_value(
74  instance._properties.get(self.name, self.default)
75  )
76 

◆ __set__()

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

Definition at line 56 of file _configurables.py.

56  def __set__(self, instance, value):
57  instance._properties[self.name] = self.semantics.store(value)
58 

◆ __set_name__()

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

Definition at line 62 of file _configurables.py.

62  def __set_name__(self, owner, name):
63  self.semantics.name = name
64 

◆ cpp_type()

def GaudiConfig2._configurables.Property.cpp_type (   self)

Definition at line 44 of file _configurables.py.

44  def cpp_type(self):
45  return self.semantics.cpp_type
46 

◆ name()

def GaudiConfig2._configurables.Property.name (   self)

Definition at line 48 of file _configurables.py.

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

Member Data Documentation

◆ __doc__

GaudiConfig2._configurables.Property.__doc__
private

Definition at line 41 of file _configurables.py.

◆ default

GaudiConfig2._configurables.Property.default

Definition at line 40 of file _configurables.py.

◆ semantics

GaudiConfig2._configurables.Property.semantics

Definition at line 39 of file _configurables.py.


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