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 public void setChangesOnly( boolean changesOnly )
68 {
69 this.changesOnly = changesOnly;
70 }
71
72
73 public boolean isChangesOnly()
74 {
75 return changesOnly;
76 }
77
78
79 public void setReturnECs( boolean returnECs )
80 {
81 this.returnECs = returnECs;
82 }
83
84
85 public boolean isReturnECs()
86 {
87 return returnECs;
88 }
89
90
91 public void setChangeTypes( int changeTypes )
92 {
93 this.changeTypes = changeTypes;
94 }
95
96
97 public int getChangeTypes()
98 {
99 return changeTypes;
100 }
101
102
103 public boolean isNotificationEnabled( ChangeType changeType )
104 {
105 return ( changeType.getValue() & changeTypes ) > 0;
106 }
107
108
109 public void enableNotification( ChangeType changeType )
110 {
111 changeTypes |= changeType.getValue();
112 }
113
114
115
116
117
118 public String toString()
119 {
120 StringBuffer sb = new StringBuffer();
121
122 sb.append( " Persistant Search Control\n" );
123 sb.append( " oid : " ).append( getOid() ).append( '\n' );
124 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
125 sb.append( " changeTypes : '" ).append( changeTypes ).append( "'\n" );
126 sb.append( " changesOnly : '" ).append( changesOnly ).append( "'\n" );
127 sb.append( " returnECs : '" ).append( returnECs ).append( "'\n" );
128
129 return sb.toString();
130 }
131 }