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 public ChangeType getChangeType()
54 {
55 return changeType;
56 }
57
58
59 public void setChangeType( ChangeType changeType )
60 {
61 this.changeType = changeType;
62 }
63
64
65 public Dn getPreviousDn()
66 {
67 return previousDn;
68 }
69
70
71 public void setPreviousDn( Dn previousDn )
72 {
73 this.previousDn = previousDn;
74 }
75
76
77 public long getChangeNumber()
78 {
79 return changeNumber;
80 }
81
82
83 public void setChangeNumber( long changeNumber )
84 {
85 this.changeNumber = changeNumber;
86 }
87
88
89
90
91
92 public int hashCode()
93 {
94 int h = super.hashCode();
95
96 h = h * 37 + Long.valueOf( changeNumber ).intValue();
97 h = h * 37 + ( changeType == null ? 0 : changeType.hashCode() );
98 h = h * 37 + ( previousDn == null ? 0 : previousDn.hashCode() );
99
100 return h;
101 }
102
103
104
105
106
107 @Override
108 public boolean equals( Object o )
109 {
110 if ( !super.equals( o ) )
111 {
112 return false;
113 }
114
115 EntryChange otherControl = ( EntryChange ) o;
116
117 return ( changeNumber == otherControl.getChangeNumber() ) &&
118 ( changeType == otherControl.getChangeType() ) &&
119 ( previousDn.equals( otherControl.getPreviousDn() ) );
120 }
121
122
123
124
125
126 public String toString()
127 {
128 StringBuffer sb = new StringBuffer();
129
130 sb.append( " Entry Change Control\n" );
131 sb.append( " oid : " ).append( getOid() ).append( '\n' );
132 sb.append( " critical : " ).append( isCritical() ).append( '\n' );
133 sb.append( " changeType : '" ).append( changeType ).append( "'\n" );
134 sb.append( " previousDN : '" ).append( previousDn ).append( "'\n" );
135
136 if ( changeNumber == UNDEFINED_CHANGE_NUMBER )
137 {
138 sb.append( " changeNumber : '" ).append( "UNDEFINED" ).append( "'\n" );
139 }
140 else
141 {
142 sb.append( " changeNumber : '" ).append( changeNumber ).append( "'\n" );
143 }
144
145 return sb.toString();
146 }
147 }