Class ExtensibleCalculatorInstantiatorImpl
- java.lang.Object
-
- de.fzi.power.interpreter.calculators.ExtensibleCalculatorInstantiatorImpl
-
- All Implemented Interfaces:
CalculatorInstantiator
public class ExtensibleCalculatorInstantiatorImpl extends Object implements CalculatorInstantiator
Implements a central hub for creating power consumption calculators based on a set of registered PowerFactory instances.
-
-
Field Summary
Fields Modifier and Type Field Description static StringCALCULATOR_FACTORY_EXTENSION_POINTprotected PriorityQueue<CalculatorFactory>factoryQueue
-
Constructor Summary
Constructors Constructor Description ExtensibleCalculatorInstantiatorImpl()Instantiates the Calculator Factory.ExtensibleCalculatorInstantiatorImpl(ITimeProvider provider)Instantiates the extensible Calculator Factory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractDistributionPowerModelCalculatorinstantiatePowerProvidingEntityCalculator(PowerProvidingEntity ppe)Creates aAbstractDistributionPowerModelCalculatorfor aPowerProvidingEntity.protected IResourcePowerModelCalculatorinstantiateResourceCalculator(ResourcePowerBinding binding)IResourcePowerModelCalculatorinstantiateResourceCalculator(PowerConsumingResourceSet resource)Creates aAbstractResourcePowerModelCalculatorfor aPowerConsumingResource.IResourcePowerModelCalculatorinstantiateStatefulResourcePowerModelCalculator(StatefulPowerConsumingResourceSet resource)Instantiate the resource power model calculator of a stateful resource.
-
-
-
Field Detail
-
CALCULATOR_FACTORY_EXTENSION_POINT
public static final String CALCULATOR_FACTORY_EXTENSION_POINT
- See Also:
- Constant Field Values
-
factoryQueue
protected final PriorityQueue<CalculatorFactory> factoryQueue
-
-
Constructor Detail
-
ExtensibleCalculatorInstantiatorImpl
public ExtensibleCalculatorInstantiatorImpl()
Instantiates the Calculator Factory. The Calculator Factory uses all registered factories to create Power Model Calculators. It callsExtensibleCalculatorInstantiatorImpl(ITimeProvider)using a placeholderITimeProviderthat always defaults to 0.
-
ExtensibleCalculatorInstantiatorImpl
public ExtensibleCalculatorInstantiatorImpl(ITimeProvider provider)
Instantiates the extensible Calculator Factory. The Calculator Factory uses all registered factories to create Power Model Calculators. This allows for an extension of supported Calculators in external plugins.- Parameters:
provider- The time provider used for time-dependent Power Consumption Calculators likeTransitionStatePowerModelCalculator.
-
-
Method Detail
-
instantiateResourceCalculator
public IResourcePowerModelCalculator instantiateResourceCalculator(PowerConsumingResourceSet resource)
Description copied from interface:CalculatorInstantiatorCreates aAbstractResourcePowerModelCalculatorfor aPowerConsumingResource. The calculator type is selected based on thePowerConsumingResource#getResourcePowerAssemblyContext()of thePowerConsumingResource.- Specified by:
instantiateResourceCalculatorin interfaceCalculatorInstantiator- Parameters:
resource- The resource for which the calculator is created.- Returns:
- The created calculator.
-
instantiateResourceCalculator
protected IResourcePowerModelCalculator instantiateResourceCalculator(ResourcePowerBinding binding)
-
instantiatePowerProvidingEntityCalculator
public AbstractDistributionPowerModelCalculator instantiatePowerProvidingEntityCalculator(PowerProvidingEntity ppe)
Description copied from interface:CalculatorInstantiatorCreates aAbstractDistributionPowerModelCalculatorfor aPowerProvidingEntity. The calculator type is selected based on thePowerProvidingEntity.getDistributionPowerAssemblyContext().- Specified by:
instantiatePowerProvidingEntityCalculatorin interfaceCalculatorInstantiator- Parameters:
ppe- The entity for which the calculator is created.- Returns:
- The created distribution power model calculator.
-
instantiateStatefulResourcePowerModelCalculator
public IResourcePowerModelCalculator instantiateStatefulResourcePowerModelCalculator(StatefulPowerConsumingResourceSet resource)
Description copied from interface:CalculatorInstantiatorInstantiate the resource power model calculator of a stateful resource.- Specified by:
instantiateStatefulResourcePowerModelCalculatorin interfaceCalculatorInstantiator- Parameters:
resource- the resource for which the power model is generated.- Returns:
- the abstract resource power model calculator
-
-