-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathOperatorFactory.java
More file actions
33 lines (27 loc) · 891 Bytes
/
OperatorFactory.java
File metadata and controls
33 lines (27 loc) · 891 Bytes
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
package factory_pattern;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
* @Auther: qulingxiao
* @Date: 2020/6/13 11:20
* @Description:
*/
public class OperatorFactory {
private static Map<String, Operation> map = new HashMap<String, Operation>();
public static String add = "add";
public static String divide = "divide";
public static String multiply = "multiply";
public static String subtract = "subtract";
public static String modulo = "modulo";
static {
map.put("add", new Addition());
map.put("divide", new Division());
map.put("multiply", new Multiplication());
map.put("subtract", new Subtraction());
map.put("modulo", new Modulo());
}
public static Optional<Operation> getOperation (String operator) {
return Optional.ofNullable(map.get(operator));
}
}