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 import org.apache.directory.api.ldap.model.name.Dn;
24
25
26
27
28
29
30
31 public class EntryChangeImpl extends AbstractControl implements EntryChange
32 {
33
34 private ChangeType changeType = ChangeType.ADD;
35
36 private long changeNumber = UNDEFINED_CHANGE_NUMBER;
37
38
39 private Dn previousDn = null;
40
41
42
43
44
45
46
47 public EntryChangeImpl()
48 {
49 super( OID );
50 }
51
52
53
54
55
56 @Override
57 public ChangeType getChangeType()
58 {
59 return changeType;
60 }
61
62
63
64
65
66 @Override
67 public void setChangeType( ChangeType changeType )
68 {
69 this.changeType = changeType;
70 }
71
72
73
74
75
76 @Override
77 public Dn getPreviousDn()
78 {
79 return previousDn;
80 }
81
82
83
84
85
86 @Override
87 public void setPreviousDn( Dn previousDn )
88 {
89 this.previousDn = previousDn;
90 }
91
92
93
94
95
96 @Override
97 public long getChangeNumber()
98 {
99 return changeNumber;
100 }
101
102
103
104
105
106 @Override
107 public void setChangeNumber( long changeNumber )
108 {
109 this.changeNumber = changeNumber;
110 }
111
112
113
114
115
116 @Override
117 public int hashCode()
118 {
119 int h = super.hashCode();
120
121 h = h * 37 + ( int ) changeNumber;
122 h = h * 37 + ( changeType == null ? 0 : changeType.hashCode() );
123 h = h * 37 + ( previousDn == null ? 0 : previousDn.hashCode() );
124
125 return h;
126 }
127
128
129
130
131
132 @Override
133 public boolean equals( Object o )
134 {
135 if ( this == o )
136 {
137 return true;
138 }
139
140 if ( !( o instanceof EntryChange ) )
141 {
142 return false;
143 }
144
145 EntryChange otherControl = ( EntryChange ) o;
146
147 return super.equals( o )
148 && ( changeNumber == otherControl.getChangeNumber() )
149 && ( changeType == otherControl.getChangeType() )
150 && ( previousDn.equals( otherControl.getPreviousDn() ) );
151 }
152
153
154
155
156
157 @Override
158 public String toString()
159 {
160 StringBuilder sb = new StringBuilder();
161
162 sb.append( " Entry Change Control\n" );
163 sb.append( " oid : " ).append( getOid() ).append( '\n' );
164 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
165 sb.append( " changeType : '" ).append( changeType ).append( "'\n" );
166 sb.append( " previousDN : '" ).append( previousDn ).append( "'\n" );
167
168 if ( changeNumber == UNDEFINED_CHANGE_NUMBER )
169 {
170 sb.append( " changeNumber : '" ).append( "UNDEFINED" ).append( "'\n" );
171 }
172 else
173 {
174 sb.append( " changeNumber : '" ).append( changeNumber ).append( "'\n" );
175 }
176
177 return sb.toString();
178 }
179 }