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

Public Member Functions

def default (self, value)
 
def store (self, value)
 
def is_set (self, value)
 
- Public Member Functions inherited from GaudiConfig2.semantics.PropertySemantics
def __init__ (self, cpp_type, name=None)
 
def cpp_type (self)
 
def cpp_type (self, value)
 
def load (self, value)
 
def opt_value (self, value)
 
def merge (self, a, b)
 

Private Attributes

 _default
 
 _is_set
 

Static Private Attributes

tuple __handled_types__ = (re.compile(r".*"),)
 

Additional Inherited Members

- Public Attributes inherited from GaudiConfig2.semantics.PropertySemantics
 name
 
 cpp_type
 

Detailed Description

Special semantics that makes a deep copy of the default value on first access
and considers a property set if its value is different from the default.

This semantics is meant to be used whenever there is no specific semantic
(with proper change detection) implemented for a type.

Definition at line 96 of file semantics.py.

Member Function Documentation

◆ default()

def GaudiConfig2.semantics.DefaultSemantics.default (   self,
  value 
)

Definition at line 107 of file semantics.py.

107  def default(self, value):
108  # remember the default value we got and return a copy
109  self._default = value
110  self._is_set = False
111  return copy.deepcopy(value)
112 

◆ is_set()

def GaudiConfig2.semantics.DefaultSemantics.is_set (   self,
  value 
)
Allow overriding the definition of "is set" if we need helper types.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 118 of file semantics.py.

118  def is_set(self, value):
119  try:
120  # we assume the property was set if it was changed
121  return self._is_set or self._default != value
122  except AttributeError:
123  # either self._is_set or self._default is not defined,
124  # so the value was not explicitly set nor modified
125  # from the default
126  return False
127 
128 

◆ store()

def GaudiConfig2.semantics.DefaultSemantics.store (   self,
  value 
)
Validation/transformation of the data to be stored.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 113 of file semantics.py.

113  def store(self, value):
114  # flag that the value was explicitly set
115  self._is_set = True
116  return super(DefaultSemantics, self).store(value)
117 

Member Data Documentation

◆ __handled_types__

tuple GaudiConfig2.semantics.DefaultSemantics.__handled_types__ = (re.compile(r".*"),)
staticprivate

Definition at line 105 of file semantics.py.

◆ _default

GaudiConfig2.semantics.DefaultSemantics._default
private

Definition at line 109 of file semantics.py.

◆ _is_set

GaudiConfig2.semantics.DefaultSemantics._is_set
private

Definition at line 110 of file semantics.py.


The documentation for this class was generated from the following file:
gaudirun.default
default
Definition: gaudirun.py:188