lsst.pex.config gba4ed39666+1ac82b564f
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField Class Reference
Inheritance diagram for lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField:
lsst.pex.config.configField.ConfigField lsst.pex.config.config.Field

Public Member Functions

None __set__ (self, Config instance, ActionTypeVar|type[ActionTypeVar] value, Any at=None, str label="assignment")
 
ConfigurableActionField[ActionTypeVar] __get__ (self, None instance, Any owner=None, Any at=None, str label="default")
 
Any __get__ (self, Config instance, Any owner=None, Any at=None, str label="default")
 
 __get__ (self, instance, owner=None, at=None, label="default")
 
 save (self, outfile, instance)
 
 __init__ (self, doc, dtype=ConfigurableAction, default=None, check=None, deprecated=None)
 
- Public Member Functions inherited from lsst.pex.config.configField.ConfigField
 rename (self, instance)
 
 freeze (self, instance)
 
 toDict (self, instance)
 
 validate (self, instance)
 
- Public Member Functions inherited from lsst.pex.config.config.Field
 __class_getitem__ (cls, tuple[type,...]|type|ForwardRef params)
 
 __delete__ (self, instance, at=None, label="deletion")
 

Public Attributes

 dtype
 
- Public Attributes inherited from lsst.pex.config.configField.ConfigField
 source
 
 default
 
 dtype
 
 name
 
- Public Attributes inherited from lsst.pex.config.config.Field
 dtype
 
 doc
 
 deprecated
 
 default
 
 check
 
 optional
 
 source
 
 name
 

Static Public Attributes

str name
 
- Static Public Attributes inherited from lsst.pex.config.config.Field
str name
 
dict supportedTypes = {str, bool, float, int, complex}
 

Additional Inherited Members

- Protected Member Functions inherited from lsst.pex.config.configField.ConfigField
 _collectImports (self, instance, imports)
 
 _compare (self, instance1, instance2, shortcut, rtol, atol, output)
 
- Protected Member Functions inherited from lsst.pex.config.config.Field
 _setup (self, doc, dtype, default, check, optional, source, deprecated)
 
 _validateValue (self, value)
 
- Static Protected Member Functions inherited from lsst.pex.config.config.Field
Mapping[str, Any] _parseTypingArgs (tuple[type,...]|tuple[str,...] params, Mapping[str, Any] kwds)
 

Detailed Description

`ConfigurableActionField` is a subclass of `~lsst.pex.config.Field` that
allows a single `ConfigurableAction` (or a subclass) to be assigned to it.
The `ConfigurableAction` is then accessed through this field for further
configuration.

Any configuration of this field that is done prior to having a new
`ConfigurableAction` assigned to it is forgotten.

Parameters
----------
doc : `str`
    Documentation string.
dtype : `ConfigurableAction`
    Data type to use for this field.
default : `lsst.pex.config.Config`, optional
    If default is `None`, the field will default to a default-constructed
    instance of ``dtype``. Additionally, to allow for fewer deep-copies,
    assigning an instance of ``ConfigField`` to ``dtype`` itself is
    considered equivalent to assigning a default-constructed sub-config.
    This means that the argument default can be ``dtype``, as well as an
    instance of ``dtype``.
check : `~collections.abc.Callable`, optional
    A callback function that validates the field's value, returning `True`
    if the value is valid, and `False` otherwise.
deprecated : `bool` or `None`, optional
    A description of why this Field is deprecated, including removal date.
    If not `None`, the string is appended to the docstring for this Field.

Constructor & Destructor Documentation

◆ __init__()

lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__init__ ( self,
doc,
dtype = ConfigurableAction,
default = None,
check = None,
deprecated = None )

Member Function Documentation

◆ __get__() [1/3]

Any lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__get__ ( self,
Config instance,
Any owner = None,
Any at = None,
str label = "default" )

◆ __get__() [2/3]

lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__get__ ( self,
instance,
owner = None,
at = None,
label = "default" )

◆ __get__() [3/3]

ConfigurableActionField[ActionTypeVar] lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__get__ ( self,
None instance,
Any owner = None,
Any at = None,
str label = "default" )

◆ __set__()

None lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.__set__ ( self,
Config instance,
ActionTypeVar | type[ActionTypeVar] value,
Any at = None,
str label = "assignment" )
Set an attribute on the config instance.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.
value : obj
    Value to set on this field.
at : `list` of `~lsst.pex.config.callStack.StackFrame` or `None`,\
        optional
    The call stack (created by
    `lsst.pex.config.callStack.getCallStack`).
label : `str`, optional
    Event label for the history.

Notes
-----
This method is invoked by the owning `lsst.pex.config.Config` object
and should not be called directly.

Derived `~lsst.pex.config.Field` classes may need to override the
behavior. When overriding ``__set__``, `~lsst.pex.config.Field` authors
should follow the following rules:

- Do not allow modification of frozen configs.
- Validate the new value **before** modifying the field. Except if the
  new value is `None`. `None` is special and no attempt should be made
  to validate it until `lsst.pex.config.Config.validate` is called.
- Do not modify the `~lsst.pex.config.Config` instance to contain
  invalid values.
- If the field is modified, update the history of the
  `lsst.pex.config.field.Field` to reflect the changes.

In order to decrease the need to implement this method in derived
`~lsst.pex.config.Field` types, value validation is performed in the
`lsst.pex.config.Field._validateValue`. If only the validation step
differs in the derived `~lsst.pex.config.Field`, it is simpler to
implement `lsst.pex.config.Field._validateValue` than to reimplement
``__set__``. More complicated behavior, however, may require
reimplementation.

Reimplemented from lsst.pex.config.configField.ConfigField.

◆ save()

lsst.pex.config.configurableActions._configurableActionField.ConfigurableActionField.save ( self,
outfile,
instance )
Save this field to a file (for internal use only).

Parameters
----------
outfile : file-like object
    A writeable field handle.
instance : `~lsst.pex.config.Config`
    The `~lsst.pex.config.Config` instance that contains this field.

Notes
-----
This method is invoked by the `~lsst.pex.config.Config` object that
contains this field and should not be called directly.

The output consists of the documentation string
(`lsst.pex.config.Field.doc`) formatted as a Python comment. The second
line is formatted as an assignment: ``{fullname}={value}``.

This output can be executed with Python.

Reimplemented from lsst.pex.config.configField.ConfigField.


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