|
| __init__ (self, cpp_type, default, doc="undocumented", semantics=None) |
|
| cpp_type (self) |
|
| name (self) |
|
| __get__ (self, instance, owner) |
|
| __set__ (self, instance, value) |
|
| __delete__ (self, instance) |
|
| __set_name__ (self, owner, name) |
|
| __is_set__ (self, instance, owner) |
|
| __opt_value__ (self, instance, owner) |
|
| __merge__ (self, instance, owner, value) |
|
Descriptor class to implement validation of Configurable properties.
Definition at line 31 of file _configurables.py.
◆ __init__()
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 if semantics is None:
40 self.semantics = getSemanticsFor(cpp_type)
41 else:
42 self.semantics = getSemanticsFor(semantics, strict=True)
43
44 self.default = default
45 self.__doc__ = doc
46
◆ __delete__()
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__()
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__()
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__()
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
int merge(const char *target, const char *source, bool fixup=false, bool dbg=true)
◆ __opt_value__()
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__()
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__()
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()
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()
GaudiConfig2._configurables.Property.name |
( |
| self | ) |
|
Definition at line 52 of file _configurables.py.
52 def name(self):
53 return self.semantics.name
54
◆ __doc__
GaudiConfig2._configurables.Property.__doc__ = doc |
|
private |
◆ default
GaudiConfig2._configurables.Property.default = default |
◆ name
GaudiConfig2._configurables.Property.name |
◆ semantics
GaudiConfig2._configurables.Property.semantics = getSemanticsFor(cpp_type) |
The documentation for this class was generated from the following file: