MappingFactory¶
-
class
lsst.daf.butler.MappingFactory(refType: Type[CT_co])¶ Bases:
objectRegister 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
nameattribute.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,stror objects withnameattribute Each item is tested in turn until a match is found in the registry. Items with
Nonevalue 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,stror objects withnameattribute Each item is tested in turn until a match is found in the registry. Items with
Nonevalue 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,stror object withnameattribute. Item to associate with the provided type.
- typeName :
stror 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
overwriteisFalse.
- registryKey :
-