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 public byte[] getCookie()
95 {
96 return this.cookie;
97 }
98
99
100
101
102
103 public void setCookie( byte[] cookie )
104 {
105 this.cookie = cookie;
106 }
107
108
109
110
111
112 public SynchronizationModeEnum getMode()
113 {
114 return mode;
115 }
116
117
118
119
120
121 public void setMode( SynchronizationModeEnum mode )
122 {
123 this.mode = mode;
124 }
125
126
127
128
129
130 public boolean isReloadHint()
131 {
132 return isReloadHint;
133 }
134
135
136
137
138
139 public void setReloadHint( boolean reloadHint )
140 {
141 this.isReloadHint = reloadHint;
142 }
143
144
145
146
147
148 @Override
149 public int hashCode()
150 {
151 int h = 37;
152
153 h = h * 17 + super.hashCode();
154 h = h * 17 + ( isReloadHint ? 1 : 0 );
155 h = h * 17 + mode.getValue();
156
157 if ( cookie != null )
158 {
159 for ( byte b : cookie )
160 {
161 h = h * 17 + b;
162 }
163 }
164
165 return h;
166 }
167
168
169
170
171
172 @Override
173 public boolean equals( Object o )
174 {
175 if ( !super.equals( o ) )
176 {
177 return false;
178 }
179
180 if ( !( o instanceof SyncRequestValue ) )
181 {
182 return false;
183 }
184
185 SyncRequestValue otherControl = ( SyncRequestValue ) o;
186
187 return ( mode == otherControl.getMode() ) &&
188 ( isReloadHint == otherControl.isReloadHint() ) &&
189 ( Arrays.equals( cookie, otherControl.getCookie() ) );
190 }
191
192
193
194
195
196 @Override
197 public String toString()
198 {
199 StringBuilder sb = new StringBuilder();
200
201 sb.append( " SyncRequestValue control :\n" );
202 sb.append( " oid : " ).append( getOid() ).append( '\n' );
203 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
204 sb.append( " mode : '" ).append( getMode() ).append( "'\n" );
205 sb.append( " cookie : '" ).
206 append( Strings.dumpBytes( getCookie() ) ).append( "'\n" );
207 sb.append( " reloadHint : '" ).append( isReloadHint() ).append( "'\n" );
208
209 return sb.toString();
210 }
211 }