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.message.Control;
24
25
26
27
28
29
30
31
32
33
34 public abstract class AbstractControl implements Control
35 {
36
37 private String oid;
38
39
40 private boolean criticality = false;
41
42
43
44
45
46
47
48 public AbstractControl( String oid )
49 {
50 this.oid = oid;
51 }
52
53
54
55
56
57
58
59
60 public AbstractControl( String oid, boolean criticality )
61 {
62 this.oid = oid;
63 this.criticality = criticality;
64 }
65
66
67
68
69
70
71
72 @Override
73 public String getOid()
74 {
75 return oid == null ? "" : oid;
76 }
77
78
79
80
81
82
83
84 @Override
85 public boolean isCritical()
86 {
87 return criticality;
88 }
89
90
91
92
93
94
95
96 @Override
97 public void setCritical( boolean criticality )
98 {
99 this.criticality = criticality;
100 }
101
102
103
104
105
106 @Override
107 public int hashCode()
108 {
109 int h = 17;
110 h = h * 37 + ( criticality ? 1 : 0 );
111 h = h * 37 + ( oid == null ? 0 : oid.hashCode() );
112
113 return h;
114 }
115
116
117
118
119
120 @Override
121 public boolean equals( Object o )
122 {
123 if ( o == this )
124 {
125 return true;
126 }
127
128 if ( o == null )
129 {
130 return false;
131 }
132
133 if ( !( o instanceof Control ) )
134 {
135 return false;
136 }
137
138 Control otherControl = ( Control ) o;
139
140 if ( !oid.equalsIgnoreCase( otherControl.getOid() ) )
141 {
142 return false;
143 }
144
145 return criticality == otherControl.isCritical();
146 }
147
148
149
150
151
152 @Override
153 public String toString()
154 {
155 StringBuilder sb = new StringBuilder();
156
157 sb.append( " " ).append( getClass().getSimpleName() ).append( " " );
158 sb.append( "Control\n" );
159 sb.append( " Type OID : '" ).append( oid ).append( "'\n" );
160 sb.append( " Criticality : '" ).append( criticality ).append( "'\n" );
161
162 sb.append( "'\n" );
163
164 return sb.toString();
165 }
166 }