1 package com.jsql.model.injection.method;
2
3 import com.jsql.model.InjectionModel;
4
5 import java.util.AbstractMap.SimpleEntry;
6 import java.util.Arrays;
7 import java.util.List;
8
9 public class MediatorMethod {
10
11 private final AbstractMethodInjection query;
12 private final AbstractMethodInjection request;
13 private final AbstractMethodInjection header;
14
15 private final List<AbstractMethodInjection> methods;
16
17 public MediatorMethod(InjectionModel injectionModel) {
18
19 this.query = new AbstractMethodInjection(injectionModel) {
20 @Override
21 public boolean isCheckingAllParam() {
22 return this.injectionModel.getMediatorUtils().getPreferencesUtil().isCheckingAllURLParam();
23 }
24 @Override
25 public String getParamsAsString() {
26 return this.injectionModel.getMediatorUtils().getParameterUtil().getQueryStringFromEntries();
27 }
28 @Override
29 public List<SimpleEntry<String, String>> getParams() {
30 return this.injectionModel.getMediatorUtils().getParameterUtil().getListQueryString();
31 }
32 @Override
33 public String name() {
34 return "Query";
35 }
36 };
37
38 this.request = new AbstractMethodInjection(injectionModel) {
39 @Override
40 public boolean isCheckingAllParam() {
41 return this.injectionModel.getMediatorUtils().getPreferencesUtil().isCheckingAllRequestParam();
42 }
43 @Override
44 public String getParamsAsString() {
45 return this.injectionModel.getMediatorUtils().getParameterUtil().getRequestFromEntries();
46 }
47 @Override
48 public List<SimpleEntry<String, String>> getParams() {
49 return this.injectionModel.getMediatorUtils().getParameterUtil().getListRequest();
50 }
51 @Override
52 public String name() {
53 return "Request";
54 }
55 };
56
57 this.header = new AbstractMethodInjection(injectionModel) {
58 @Override
59 public boolean isCheckingAllParam() {
60 return this.injectionModel.getMediatorUtils().getPreferencesUtil().isCheckingAllHeaderParam();
61 }
62 @Override
63 public String getParamsAsString() {
64 return this.injectionModel.getMediatorUtils().getParameterUtil().getHeaderFromEntries();
65 }
66 @Override
67 public List<SimpleEntry<String, String>> getParams() {
68 return this.injectionModel.getMediatorUtils().getParameterUtil().getListHeader();
69 }
70 @Override
71 public String name() {
72 return "Header";
73 }
74 };
75
76 this.methods = Arrays.asList(this.query, this.request, this.header);
77 }
78
79 public AbstractMethodInjection getQuery() {
80 return this.query;
81 }
82
83 public AbstractMethodInjection getRequest() {
84 return this.request;
85 }
86
87 public AbstractMethodInjection getHeader() {
88 return this.header;
89 }
90
91 public List<AbstractMethodInjection> getMethods() {
92 return this.methods;
93 }
94 }