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.controls;
21
22
23
24
25
26
27
28 public class PersistentSearchImpl extends AbstractControl implements PersistentSearch
29 {
30
31
32
33
34
35
36 private boolean changesOnly = true;
37
38
39
40
41
42 private boolean returnECs = false;
43
44
45
46
47
48
49
50
51
52
53
54 private int changeTypes = CHANGE_TYPES_MAX;
55
56
57
58
59
60
61 public PersistentSearchImpl()
62 {
63 super( OID );
64 }
65
66
67
68
69
70 @Override
71 public void setChangesOnly( boolean changesOnly )
72 {
73 this.changesOnly = changesOnly;
74 }
75
76
77
78
79
80 @Override
81 public boolean isChangesOnly()
82 {
83 return changesOnly;
84 }
85
86
87
88
89
90 @Override
91 public void setReturnECs( boolean returnECs )
92 {
93 this.returnECs = returnECs;
94 }
95
96
97
98
99
100 @Override
101 public boolean isReturnECs()
102 {
103 return returnECs;
104 }
105
106
107
108
109
110 @Override
111 public void setChangeTypes( int changeTypes )
112 {
113 this.changeTypes = changeTypes;
114 }
115
116
117
118
119
120 @Override
121 public int getChangeTypes()
122 {
123 return changeTypes;
124 }
125
126
127
128
129
130 @Override
131 public boolean isNotificationEnabled( ChangeType changeType )
132 {
133 return ( changeType.getValue() & changeTypes ) > 0;
134 }
135
136
137
138
139
140 @Override
141 public void enableNotification( ChangeType changeType )
142 {
143 changeTypes |= changeType.getValue();
144 }
145
146
147
148
149
150 @Override
151 public void disableNotification( ChangeType changeType )
152 {
153 changeTypes &= ~changeType.getValue();
154 }
155
156
157
158
159
160 @Override
161 public String toString()
162 {
163 StringBuilder sb = new StringBuilder();
164
165 sb.append( " Persistant Search Control\n" );
166 sb.append( " oid : " ).append( getOid() ).append( '\n' );
167 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
168 sb.append( " changeTypes : '" ).append( changeTypes ).append( "'\n" );
169 sb.append( " changesOnly : '" ).append( changesOnly ).append( "'\n" );
170 sb.append( " returnECs : '" ).append( returnECs ).append( "'\n" );
171
172 return sb.toString();
173 }
174 }