1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.api.ldap.model.message;
21
22
23
24
25
26
27
28 public abstract class AbstractExtendedRequest extends AbstractRequest implements ExtendedRequest
29 {
30 static final long serialVersionUID = 7916990159044177480L;
31
32
33 protected String oid;
34
35
36 private ExtendedResponse response;
37
38
39
40
41
42
43 public AbstractExtendedRequest()
44 {
45 super( -1, MessageTypeEnum.EXTENDED_REQUEST, true );
46 }
47
48
49
50
51
52
53
54
55 public AbstractExtendedRequest( int id )
56 {
57 super( id, MessageTypeEnum.EXTENDED_REQUEST, true );
58 }
59
60
61
62
63
64
65
66
67
68
69
70
71 @Override
72 public String getRequestName()
73 {
74 return oid;
75 }
76
77
78
79
80
81
82
83 @Override
84 public ExtendedRequest setRequestName( String newOid )
85 {
86 this.oid = newOid;
87
88 return this;
89 }
90
91
92
93
94
95 @Override
96 public ExtendedRequest setMessageId( int messageId )
97 {
98 super.setMessageId( messageId );
99
100 return this;
101 }
102
103
104
105
106
107 @Override
108 public ExtendedRequest addControl( Control control )
109 {
110 return ( ExtendedRequest ) super.addControl( control );
111 }
112
113
114
115
116
117 @Override
118 public ExtendedRequest addAllControls( Control[] controls )
119 {
120 return ( ExtendedRequest ) super.addAllControls( controls );
121 }
122
123
124
125
126
127 @Override
128 public ExtendedRequest removeControl( Control control )
129 {
130 return ( ExtendedRequest ) super.removeControl( control );
131 }
132
133
134
135
136
137
138
139
140
141
142
143
144 @Override
145 public MessageTypeEnum getResponseType()
146 {
147 return MessageTypeEnum.EXTENDED_RESPONSE;
148 }
149
150
151
152
153
154
155
156 @Override
157 public abstract ExtendedResponse getResultResponse();
158
159
160
161
162
163 public ExtendedResponse getResponse()
164 {
165 return response;
166 }
167
168
169
170
171
172 public void setResponse( ExtendedResponse response )
173 {
174 this.response = response;
175 }
176
177
178
179
180
181 @Override
182 public int hashCode()
183 {
184 int hash = 37;
185
186 if ( oid != null )
187 {
188 hash = hash * 17 + oid.hashCode();
189 }
190
191 hash = hash * 17 + super.hashCode();
192
193 return hash;
194 }
195
196
197
198
199
200
201
202
203 @Override
204 public boolean equals( Object obj )
205 {
206 if ( obj == this )
207 {
208 return true;
209 }
210
211 if ( !super.equals( obj ) )
212 {
213 return false;
214 }
215
216 if ( !( obj instanceof ExtendedRequest ) )
217 {
218 return false;
219 }
220
221 ExtendedRequest req = ( ExtendedRequest ) obj;
222
223 String requestName = req.getRequestName();
224
225 if ( oid == null )
226 {
227 if ( requestName != null )
228 {
229 return false;
230 }
231 }
232 else
233 {
234 if ( requestName == null )
235 {
236 return false;
237 }
238 else if ( !oid.equals( requestName ) )
239 {
240 return false;
241 }
242 }
243
244 return true;
245 }
246
247
248
249
250
251
252
253 @Override
254 public String toString()
255 {
256 StringBuilder sb = new StringBuilder();
257
258 sb.append( " Extended request\n" );
259 sb.append( " Request name : '" ).append( oid ).append( "'\n" );
260
261
262 sb.append( super.toString() );
263
264 return super.toString( sb.toString() );
265 }
266 }