source: trunk/src/main/java/omq/common/message/Request.java @ 55

Last change on this file since 55 was 55, checked in by stoda, 11 years ago

@MultiMethod? implemented and working with @AsyncMethod? annotation.
TODO: @Multi with SyncMethod?(waitNum = x) -> Must return a List<?>
Refactoring in Proxymq if it's necessary

File size: 2.2 KB
Line 
1package omq.common.message;
2
3import java.io.Serializable;
4
5public class Request implements Serializable {
6
7        /**
8         *
9         */
10        private static final long serialVersionUID = 6366255840200365083L;
11
12        private String method;
13        private Object[] params;
14        private String id;
15        private boolean async = false;
16
17        private transient boolean multi;
18        private transient long timeout;
19        private transient int retries;
20
21        public Request() {
22        }
23
24        public Request(String id, String method, Object[] params) {
25                this.id = id;
26                this.method = method;
27                this.params = params;
28        }
29
30        private Request(String id, String method, boolean async, Object[] params) {
31                this.id = id;
32                this.method = method;
33                this.async = async;
34                this.params = params;
35        }
36
37        private Request(String id, String method, boolean async, Object[] params, boolean multi) {
38                this.id = id;
39                this.method = method;
40                this.async = async;
41                this.params = params;
42                this.multi = multi;
43        }
44
45        public static Request newSyncRequest(String id, String method, Object[] params) {
46                return new Request(id, method, false, params);
47        }
48
49        public static Request newSyncRequest(String id, String method, Object[] params, int retries, long timeout, boolean multi) {
50                Request req = new Request(id, method, false, params, multi);
51                req.setRetries(retries);
52                req.setTimeout(timeout);
53                return req;
54        }
55
56        public static Request newAsyncRequest(String id, String method, Object[] params, boolean multi) {
57                return new Request(id, method, true, params, multi);
58        }
59
60        public String getId() {
61                return id;
62        }
63
64        public void setId(String id) {
65                this.id = id;
66        }
67
68        public String getMethod() {
69                return method;
70        }
71
72        public void setMethod(String method) {
73                this.method = method;
74        }
75
76        public Object[] getParams() {
77                return params;
78        }
79
80        public void setParams(Object[] params) {
81                this.params = params;
82        }
83
84        public boolean isAsync() {
85                return async;
86        }
87
88        public void setAsync(boolean async) {
89                this.async = async;
90        }
91
92        public long getTimeout() {
93                return timeout;
94        }
95
96        public void setTimeout(long timeout) {
97                this.timeout = timeout;
98        }
99
100        public int getRetries() {
101                return retries;
102        }
103
104        public void setRetries(int retries) {
105                this.retries = retries;
106        }
107
108        public boolean isMulti() {
109                return multi;
110        }
111
112        public void setMulti(boolean multi) {
113                this.multi = multi;
114        }
115}
Note: See TracBrowser for help on using the repository browser.