MappingFactory¶
-
class
lsst.daf.butler.
MappingFactory
(refType: Type[CT_co])¶ Bases:
object
Register the mapping of some key to a python type and retrieve instances.
Enables instances of these classes to be retrieved from the factory later. The class can be specified as an object, class or string. If the key is an object it is converted to a string by accessing a
name
attribute.Parameters: Methods Summary
getClassFromRegistry
(targetClasses)Get the matching class stored in the registry. getClassFromRegistryWithMatch
(targetClasses)Get the class stored in the registry along with the matching key. getFromRegistry
(targetClasses, *args, **kwargs)Get a new instance of the object stored in the registry. getFromRegistryWithMatch
(targetClasses, …)Get a new instance of the object stored in the registry along with the matching key. getLookupKeys
()Retrieve the look up keys for all the registry entries. placeInRegistry
(registryKey, typeName, …)Register a class name with the associated type. Methods Documentation
-
getClassFromRegistry
(targetClasses: Iterable[Any]) → Type[CT_co]¶ Get the matching class stored in the registry.
Parameters: Returns: - cls :
type
Class stored in registry associated with the first matching target class.
Raises: - KeyError
Raised if none of the supplied target classes match an item in the registry.
- cls :
-
getClassFromRegistryWithMatch
(targetClasses: Iterable[Any]) → Tuple[lsst.daf.butler.core.configSupport.LookupKey, Type[CT_co], Dict[Any, Any]]¶ Get the class stored in the registry along with the matching key.
Parameters: Returns: Raises: - KeyError
Raised if none of the supplied target classes match an item in the registry.
-
getFromRegistry
(targetClasses: Iterable[Any], *args, **kwargs) → Any¶ Get a new instance of the object stored in the registry.
Parameters: - targetClasses :
LookupKey
,str
or objects withname
attribute Each item is tested in turn until a match is found in the registry. Items with
None
value are skipped.- args :
tuple
Positional arguments to use pass to the object constructor.
- kwargs :
dict
Keyword arguments to pass to object constructor.
Returns: - instance :
object
Instance of class stored in registry associated with the first matching target class.
Raises: - KeyError
Raised if none of the supplied target classes match an item in the registry.
- targetClasses :
-
getFromRegistryWithMatch
(targetClasses: Iterable[Any], *args, **kwargs) → Tuple[lsst.daf.butler.core.configSupport.LookupKey, Any]¶ Get a new instance of the object stored in the registry along with the matching key.
Parameters: - targetClasses :
LookupKey
,str
or objects withname
attribute Each item is tested in turn until a match is found in the registry. Items with
None
value are skipped.- args :
tuple
Positional arguments to use pass to the object constructor.
- kwargs :
dict
Keyword arguments to pass to object constructor.
Returns: Raises: - KeyError
Raised if none of the supplied target classes match an item in the registry.
- targetClasses :
-
getLookupKeys
() → Set[lsst.daf.butler.core.configSupport.LookupKey]¶ Retrieve the look up keys for all the registry entries.
Returns:
-
placeInRegistry
(registryKey: Any, typeName: Union[str, Type[CT_co]], overwrite: bool = False, **kwargs) → None¶ Register a class name with the associated type.
Parameters: - registryKey :
LookupKey
,str
or object withname
attribute. Item to associate with the provided type.
- typeName :
str
or Python type Identifies a class to associate with the provided key.
- overwrite :
bool
, optional If
True
, an existing entry will be overwritten. This option is expected to be used to simplify test suites. Default isFalse
.- kwargs :
dict
Keyword arguments to always pass to object constructor when retrieved.
Raises: - KeyError
Raised if item is already registered and has different value and
overwrite
isFalse
.
- registryKey :
-