Source code for esbo_etc.classes.ARadiantFactory

from .AFactory import AFactory
from .Entry import Entry
from .IRadiant import IRadiant
from abc import abstractmethod


[docs]class ARadiantFactory(AFactory): """ A Factory creating objects of the type IRadiant """
[docs] @abstractmethod def __init__(self, common_conf: Entry): """ Instantiate a new factory object Parameters ---------- common_conf : Entry The common configuration of the configuration file """ super().__init__(common_conf)
[docs] @abstractmethod def create(self, options: Entry, parent: IRadiant = None) -> IRadiant: """ Create a new object of the type IRadiant Parameters ---------- options : Entry The options to be used as parameters for the instantiation of the new object. parent : IRadiant The optional parent element of the object (necessary for subclasses of AOpticalComponent). Returns ------- obj : IRadiant The created object """ pass