mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Ludovic Poitou
02.45.2010 7bdcb41c0f62967ec42d552f6002577dfb7019ca
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE
 * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at
 * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 * add the following below this CDDL HEADER, with the fields enclosed
 * by brackets "[]" replaced with your own identifying information:
 *      Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 *
 *      Copyright 2010 Sun Microsystems, Inc.
 */
 
package org.opends.sdk.responses;
 
 
 
import java.util.List;
 
import org.opends.sdk.ByteString;
import org.opends.sdk.DecodeException;
import org.opends.sdk.DecodeOptions;
import org.opends.sdk.ResultCode;
import org.opends.sdk.controls.Control;
import org.opends.sdk.controls.ControlDecoder;
 
 
 
/**
 * The password modify extended result as defined in RFC 3062. The result
 * includes the generated password, if requested, but only if the modify request
 * succeeded.
 *
 * @see org.opends.sdk.requests.PasswordModifyExtendedRequest
 * @see <a href="http://tools.ietf.org/html/rfc3909">RFC 3062 - LDAP Password
 *      Modify Extended Operation </a>
 */
public interface PasswordModifyExtendedResult extends ExtendedResult
{
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult addControl(Control control)
      throws UnsupportedOperationException, NullPointerException;
 
 
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult addReferralURI(String uri)
      throws UnsupportedOperationException, NullPointerException;
 
 
 
  /**
   * {@inheritDoc}
   */
  Throwable getCause();
 
 
 
  /**
   * {@inheritDoc}
   */
  <C extends Control> C getControl(ControlDecoder<C> decoder,
      DecodeOptions options) throws NullPointerException, DecodeException;
 
 
 
  /**
   * {@inheritDoc}
   */
  List<Control> getControls();
 
 
 
  /**
   * {@inheritDoc}
   */
  String getDiagnosticMessage();
 
 
 
  /**
   * Returns the newly generated password, but only if the password modify
   * request succeeded and a generated password was requested.
   *
   * @return The newly generated password, or {@code null} if the password
   *         modify request failed or a generated password was not requested.
   */
  ByteString getGeneratedPassword();
 
 
 
  /**
   * {@inheritDoc}
   */
  String getMatchedDN();
 
 
 
  /**
   * {@inheritDoc}
   */
  String getOID();
 
 
 
  /**
   * {@inheritDoc}
   */
  List<String> getReferralURIs();
 
 
 
  /**
   * {@inheritDoc}
   */
  ResultCode getResultCode();
 
 
 
  /**
   * {@inheritDoc}
   */
  ByteString getValue();
 
 
 
  /**
   * {@inheritDoc}
   */
  boolean hasValue();
 
 
 
  /**
   * {@inheritDoc}
   */
  boolean isReferral();
 
 
 
  /**
   * {@inheritDoc}
   */
  boolean isSuccess();
 
 
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult setCause(Throwable cause)
      throws UnsupportedOperationException;
 
 
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult setDiagnosticMessage(String message)
      throws UnsupportedOperationException;
 
 
 
  /**
   * Sets the generated password.
   *
   * @param password
   *          The generated password, or {@code null} if there is no generated
   *          password associated with this result.
   * @return This password modify result.
   * @throws UnsupportedOperationException
   *           If this password modify extended result does not permit the
   *           generated password to be set.
   */
  PasswordModifyExtendedResult setGeneratedPassword(ByteString password)
      throws UnsupportedOperationException;
 
 
 
  /**
   * Sets the generated password. The password will be converted to a UTF-8
   * octet string.
   *
   * @param password
   *          The generated password, or {@code null} if there is no generated
   *          password associated with this result.
   * @return This password modify result.
   * @throws UnsupportedOperationException
   *           If this password modify extended result does not permit the
   *           generated password to be set.
   */
  PasswordModifyExtendedResult setGeneratedPassword(char[] password)
      throws UnsupportedOperationException;
 
 
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult setMatchedDN(String dn)
      throws UnsupportedOperationException;
 
 
 
  /**
   * {@inheritDoc}
   */
  PasswordModifyExtendedResult setResultCode(ResultCode resultCode)
      throws UnsupportedOperationException, NullPointerException;
 
}