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.extras.extended.gracefulShutdown;
21
22
23 import org.apache.directory.api.i18n.I18n;
24 import org.apache.directory.api.ldap.model.message.ExtendedResponseImpl;
25 import org.apache.directory.api.ldap.model.message.ResultCodeEnum;
26
27
28
29
30
31
32
33
34
35 public class GracefulShutdownResponseImpl extends ExtendedResponseImpl implements GracefulShutdownResponse
36 {
37
38
39
40
41
42
43 public GracefulShutdownResponseImpl( int messageId, ResultCodeEnum rcode )
44 {
45 super( messageId, EXTENSION_OID );
46
47 switch ( rcode )
48 {
49 case SUCCESS:
50 case OPERATIONS_ERROR:
51 case INSUFFICIENT_ACCESS_RIGHTS:
52 break;
53
54 default:
55 throw new IllegalArgumentException( I18n.err( I18n.ERR_04166, ResultCodeEnum.SUCCESS,
56 ResultCodeEnum.OPERATIONS_ERROR, ResultCodeEnum.INSUFFICIENT_ACCESS_RIGHTS ) );
57 }
58
59 super.getLdapResult().setMatchedDn( null );
60 super.getLdapResult().setResultCode( rcode );
61 }
62
63
64
65
66
67
68
69 public GracefulShutdownResponseImpl( int messageId )
70 {
71 super( messageId, EXTENSION_OID );
72 super.getLdapResult().setMatchedDn( null );
73 super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
74 }
75
76
77
78
79
80 public GracefulShutdownResponseImpl()
81 {
82 super( EXTENSION_OID );
83 super.getLdapResult().setMatchedDn( null );
84 super.getLdapResult().setResultCode( ResultCodeEnum.SUCCESS );
85 }
86
87
88
89
90
91
92
93
94
95
96
97
98 @Override
99 public String getResponseName()
100 {
101 return EXTENSION_OID;
102 }
103
104
105
106
107
108
109
110
111
112 @Override
113 public void setResponseName( String oid )
114 {
115 throw new UnsupportedOperationException( I18n.err( I18n.ERR_04168, EXTENSION_OID ) );
116 }
117
118
119
120
121
122 @Override
123 public int hashCode()
124 {
125 int hash = 37;
126
127 hash = hash * 17 + getClass().getName().hashCode();
128
129 return hash;
130 }
131
132
133
134
135
136 @Override
137 public boolean equals( Object obj )
138 {
139 if ( obj == this )
140 {
141 return true;
142 }
143
144 return obj instanceof GracefulShutdownResponseImpl;
145 }
146 }