lsst.pex.config g38189d092c+b66847d792
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
lsst.pex.config.listField.ListField Class Reference
Inheritance diagram for lsst.pex.config.listField.ListField:
lsst.pex.config.config.Field lsst.pex.config.listField.List

Public Member Functions

def __init__ (self, doc, dtype=None, default=None, optional=False, listCheck=None, itemCheck=None, length=None, minLength=None, maxLength=None, deprecated=None)
 
def validate (self, instance)
 
None __set__ (self, Config instance, Union[Iterable[FieldTypeVar], None] value, Any at=None, str label="assignment")
 
def toDict (self, instance)
 
- Public Member Functions inherited from lsst.pex.config.config.Field
def __class_getitem__ (cls, Union[tuple[type,...], type, ForwardRef] params)
 
def __init__ (self, doc, dtype=None, default=None, check=None, optional=False, deprecated=None)
 
def rename (self, instance)
 
def validate (self, instance)
 
def freeze (self, instance)
 
def save (self, outfile, instance)
 
def toDict (self, instance)
 
"Field[FieldTypeVar]" __get__ (self, None instance, Any owner=None, Any at=None, str label="default")
 
FieldTypeVar __get__ (self, "Config" instance, Any owner=None, Any at=None, str label="default")
 
def __get__ (self, instance, owner=None, at=None, label="default")
 
None __set__ (self, "Config" instance, Optional[FieldTypeVar] value, Any at=None, str label="assignment")
 
def __delete__ (self, instance, at=None, label="deletion")
 
- Public Member Functions inherited from lsst.pex.config.listField.List
def __init__ (self, config, field, value, at, label, setHistory=True)
 
def validateItem (self, i, x)
 
def list (self)
 
def __contains__ (self, x)
 
def __len__ (self)
 
None __setitem__ (self, int i, FieldTypeVar x, Any at=None, str label="setitem", bool setHistory=True)
 
None __setitem__ (self, slice i, Iterable[FieldTypeVar] x, Any at=None, str label="setitem", bool setHistory=True)
 
def __setitem__ (self, i, x, at=None, label="setitem", setHistory=True)
 
FieldTypeVar __getitem__ (self, int i)
 
MutableSequence[FieldTypeVar] __getitem__ (self, slice i)
 
def __getitem__ (self, i)
 
def __delitem__ (self, i, at=None, label="delitem", setHistory=True)
 
def __iter__ (self)
 
def insert (self, i, x, at=None, label="insert", setHistory=True)
 
def __repr__ (self)
 
def __str__ (self)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def __setattr__ (self, attr, value, at=None, label="assignment")
 
def __reduce__ (self)
 

Public Attributes

 listCheck
 
 itemCheck
 
 itemtype
 
 length
 
 minLength
 
 maxLength
 
- Public Attributes inherited from lsst.pex.config.config.Field
 dtype
 
 doc
 
 deprecated
 
 default
 
 check
 
 optional
 
 source
 

Additional Inherited Members

- Static Public Attributes inherited from lsst.pex.config.config.Field
 supportedTypes = set((str, bool, float, int, complex))
 
- Properties inherited from lsst.pex.config.listField.List
 history = property(lambda x: x._history)
 

Detailed Description

A configuration field (`~lsst.pex.config.Field` subclass) that contains
a list of values of a specific type.

Parameters
----------
doc : `str`
    A description of the field.
dtype : class, optional
    The data type of items in the list. Optional if supplied as typing
    argument to the class.
default : sequence, optional
    The default items for the field.
optional : `bool`, optional
    Set whether the field is *optional*. When `False`,
    `lsst.pex.config.Config.validate` will fail if the field's value is
    `None`.
listCheck : callable, optional
    A callable that validates the list as a whole.
itemCheck : callable, optional
    A callable that validates individual items in the list.
length : `int`, optional
    If set, this field must contain exactly ``length`` number of items.
minLength : `int`, optional
    If set, this field must contain *at least* ``minLength`` number of
    items.
maxLength : `int`, optional
    If set, this field must contain *no more than* ``maxLength`` number of
    items.
deprecated : None or `str`, 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.

See also
--------
ChoiceField
ConfigChoiceField
ConfigDictField
ConfigField
ConfigurableField
DictField
Field
RangeField
RegistryField

Constructor & Destructor Documentation

◆ __init__()

def lsst.pex.config.listField.ListField.__init__ (   self,
  doc,
  dtype = None,
  default = None,
  optional = False,
  listCheck = None,
  itemCheck = None,
  length = None,
  minLength = None,
  maxLength = None,
  deprecated = None 
)

Reimplemented from lsst.pex.config.config.Field.

Member Function Documentation

◆ __set__()

None lsst.pex.config.listField.ListField.__set__ (   self,
Config  instance,
Union[Iterable[FieldTypeVar], None]  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`
    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.config.Field.

◆ toDict()

def lsst.pex.config.listField.ListField.toDict (   self,
  instance 
)
Convert the value of this field to a plain `list`.

`lsst.pex.config.Config.toDict` is the primary user of this method.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Returns
-------
`list`
    Plain `list` of items, or `None` if the field is not set.

Reimplemented from lsst.pex.config.config.Field.

◆ validate()

def lsst.pex.config.listField.ListField.validate (   self,
  instance 
)
Validate the field.

Parameters
----------
instance : `lsst.pex.config.Config`
    The config instance that contains this field.

Raises
------
lsst.pex.config.FieldValidationError
    Raised if:

    - The field is not optional, but the value is `None`.
    - The list itself does not meet the requirements of the `length`,
      `minLength`, or `maxLength` attributes.
    - The `listCheck` callable returns `False`.

Notes
-----
Individual item checks (`itemCheck`) are applied when each item is
set and are not re-checked by this method.

Reimplemented from lsst.pex.config.config.Field.


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