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.extras.controls.syncrepl.syncInfoValue;
21
22
23 import java.util.Arrays;
24
25 import org.apache.directory.api.ldap.extras.controls.SynchronizationModeEnum;
26 import org.apache.directory.api.ldap.model.message.controls.AbstractControl;
27 import org.apache.directory.api.util.Strings;
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 public class SyncRequestValueImpl extends AbstractControl implements SyncRequestValue
59 {
60
61 private SynchronizationModeEnum mode;
62
63
64 private byte[] cookie;
65
66
67 private boolean isReloadHint;
68
69
70
71
72
73 public SyncRequestValueImpl()
74 {
75 super( OID );
76 }
77
78
79
80
81
82
83
84
85 public SyncRequestValueImpl( boolean isCritical )
86 {
87 super( OID, isCritical );
88 }
89
90
91
92
93
94 @Override
95 public byte[] getCookie()
96 {
97 return this.cookie;
98 }
99
100
101
102
103
104 @Override
105 public void setCookie( byte[] cookie )
106 {
107 this.cookie = cookie;
108 }
109
110
111
112
113
114 @Override
115 public SynchronizationModeEnum getMode()
116 {
117 return mode;
118 }
119
120
121
122
123
124 @Override
125 public void setMode( SynchronizationModeEnum mode )
126 {
127 this.mode = mode;
128 }
129
130
131
132
133
134 @Override
135 public boolean isReloadHint()
136 {
137 return isReloadHint;
138 }
139
140
141
142
143
144 @Override
145 public void setReloadHint( boolean reloadHint )
146 {
147 this.isReloadHint = reloadHint;
148 }
149
150
151
152
153
154 @Override
155 public int hashCode()
156 {
157 int h = 37;
158
159 h = h * 17 + super.hashCode();
160 h = h * 17 + ( isReloadHint ? 1 : 0 );
161 h = h * 17 + mode.getValue();
162
163 if ( cookie != null )
164 {
165 for ( byte b : cookie )
166 {
167 h = h * 17 + b;
168 }
169 }
170
171 return h;
172 }
173
174
175
176
177
178 @Override
179 public boolean equals( Object o )
180 {
181 if ( !super.equals( o ) )
182 {
183 return false;
184 }
185
186 if ( !( o instanceof SyncRequestValue ) )
187 {
188 return false;
189 }
190
191 SyncRequestValue otherControl = ( SyncRequestValue ) o;
192
193 return ( mode == otherControl.getMode() )
194 && ( isReloadHint == otherControl.isReloadHint() )
195 && ( Arrays.equals( cookie, otherControl.getCookie() ) );
196 }
197
198
199
200
201
202 @Override
203 public String toString()
204 {
205 StringBuilder sb = new StringBuilder();
206
207 sb.append( " SyncRequestValue control :\n" );
208 sb.append( " oid : " ).append( getOid() ).append( '\n' );
209 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
210 sb.append( " mode : '" ).append( getMode() ).append( "'\n" );
211 sb.append( " cookie : '" ).
212 append( Strings.dumpBytes( getCookie() ) ).append( "'\n" );
213 sb.append( " reloadHint : '" ).append( isReloadHint() ).append( "'\n" );
214
215 return sb.toString();
216 }
217 }