newMultipleGrowthDividendDiscountModel()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 14
rs 9.4285
cc 1
eloc 9
nc 1
nop 3
1
<?php
2
3
namespace FinanCalc\Calculators\Factories {
4
5
    use FinanCalc\Calculators\StockDividendDiscountModelCalculator;
6
    use FinanCalc\Constants\StockDDMTypes;
7
    use FinanCalc\Interfaces\Calculator\CalculatorFactoryAbstract;
8
9
    /**
10
     * Class StockDividendDiscountModelFactory
11
     * @package FinanCalc\Calculators\Factories
12
     */
13
    class StockDividendDiscountModelCalculatorFactory extends CalculatorFactoryAbstract
14
    {
15
        const MANUFACTURED_CLASS_NAME = 'FinanCalc\\Calculators\\StockDividendDiscountModelCalculator';
16
17
        /**
18
         * @param $stockVIR
19
         * @param $stockAnnualDividendValue
20
         * @return StockDividendDiscountModelCalculator
21
         */
22
        public function newZeroGrowthDividendDiscountModel($stockVIR, $stockAnnualDividendValue)
23
        {
24
            return $this->manufactureInstance(
25
                [
26
                    new StockDDMTypes(StockDDMTypes::ZERO_GROWTH),
27
                    $stockVIR,
28
                    $stockAnnualDividendValue
29
                ]
30
            );
31
        }
32
33
        /**
34
         * @param $stockVIR
35
         * @param $stockAnnualDividendValue
36
         * @param $stockAnnualDividendsGrowth
37
         * @return StockDividendDiscountModelCalculator
38
         */
39
        public function newMultipleGrowthDividendDiscountModel(
40
            $stockVIR,
41
            $stockAnnualDividendValue,
42
            $stockAnnualDividendsGrowth
43
        ) {
44
            return $this->manufactureInstance(
45
                [
46
                    new StockDDMTypes(StockDDMTypes::MULTIPLE_GROWTH),
47
                    $stockVIR,
48
                    $stockAnnualDividendValue,
49
                    $stockAnnualDividendsGrowth
50
                ]
51
            );
52
        }
53
    }
54
}
55