bencher.class_enum
Attributes
Classes
A string-based enum class that maps enum values to corresponding class instances. |
|
Base class for the ClassEnum example. |
|
Example subclass 1 for the ClassEnum demonstration. |
|
Example subclass 2 for the ClassEnum demonstration. |
|
An example implementation of ClassEnum. |
Module Contents
- bencher.class_enum.T
- class bencher.class_enum.ClassEnum
Bases:
strenum.StrEnumA string-based enum class that maps enum values to corresponding class instances.
ClassEnum is a pattern to make it easier to create a factory method that converts from an enum value to a corresponding class instance. Subclasses should implement the to_class() method which takes an enum value and returns an instance of the corresponding class.
This pattern is useful for configuration-driven class instantiation, allowing classes to be selected via string configuration values that match enum names.
- classmethod to_class_generic(module_import: str, class_name: str) Any
Create an instance of a class from its module path and class name.
This utility method dynamically imports a module and instantiates a class from it.
- Parameters:
module_import (str) – The module path to import (e.g., “bencher.class_enum”)
class_name (str) – The name of the class to instantiate
- Returns:
A new instance of the specified class
- Return type:
Any
- classmethod to_class(enum_val: ClassEnum) Any
- Abstractmethod:
Convert an enum value to its corresponding class instance.
Subclasses must override this method to implement the mapping from enum values to class instances.
- Parameters:
enum_val (ClassEnum) – The enum value to convert to a class instance
- Returns:
An instance of the class corresponding to the enum value
- Return type:
Any
- Raises:
NotImplementedError – If this method is not overridden by a subclass
- class bencher.class_enum.BaseClass
Base class for the ClassEnum example.
A simple dataclass that serves as the base class for the ClassEnum example classes.
- baseclassname
A name for the base class
- Type:
str
- baseclassname: str = 'class0'
- class bencher.class_enum.Class1
Bases:
BaseClassExample subclass 1 for the ClassEnum demonstration.
- classname
A name for this class
- Type:
str
- classname: str = 'class1'
- class bencher.class_enum.Class2
Bases:
BaseClassExample subclass 2 for the ClassEnum demonstration.
- classname
A name for this class
- Type:
str
- classname: str = 'class2'
- class bencher.class_enum.ExampleEnum
Bases:
ClassEnumAn example implementation of ClassEnum.
This enum demonstrates how to use ClassEnum to map enum values to class instances. Each enum value corresponds to a class name that can be instantiated.
- Class1
- Class2
- classmethod to_class(enum_val: ExampleEnum) BaseClass
Convert an ExampleEnum value to its corresponding class instance.
- Parameters:
enum_val (ExampleEnum) – The enum value to convert
- Returns:
An instance of either Class1 or Class2, depending on the enum value
- Return type: