-
Notifications
You must be signed in to change notification settings - Fork 0
/
OperationFactory.java
38 lines (36 loc) · 1.1 KB
/
OperationFactory.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package task.Factory;
import task.operations.Addition;
import task.operations.Cos;
import task.operations.Division;
import task.operations.Log;
import task.operations.Multiplication;
import task.operations.Operation;
import task.operations.Pow;
import task.operations.Sin;
import task.operations.Sqrt;
import task.operations.Substraction;
/**
* Factory class create objects of arithmetical operations classes.
*/
public class OperationFactory {
/**
* Method creates class instances.
*
* @param token operation.
* @return wrapped class of arithmetical operation.
*/
public static Operation create(String token) {
switch (token) {
case "+": return new Addition();
case "-": return new Substraction();
case "*": return new Multiplication();
case "/": return new Division();
case "sin": return new Sin();
case "cos": return new Cos();
case "log": return new Log();
case "sqrt": return new Sqrt();
case "pow": return new Pow();
default: return null;
}
}
}