View Javadoc
1   /*
2    *   Licensed to the Apache Software Foundation (ASF) under one
3    *   or more contributor license agreements.  See the NOTICE file
4    *   distributed with this work for additional information
5    *   regarding copyright ownership.  The ASF licenses this file
6    *   to you under the Apache License, Version 2.0 (the
7    *   "License"); you may not use this file except in compliance
8    *   with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *   Unless required by applicable law or agreed to in writing,
13   *   software distributed under the License is distributed on an
14   *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *   KIND, either express or implied.  See the License for the
16   *   specific language governing permissions and limitations
17   *   under the License.
18   *
19   */
20  package org.apache.directory.ldap.client.template;
21  
22  
23  import org.apache.directory.ldap.client.template.exception.PasswordException;
24  
25  
26  /**
27   * A class for translating the outcome of a {@link PasswordPolicyOperation}.
28   *
29   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
30   */
31  public interface PasswordPolicyResponder
32  {
33      /**
34       * Execute the <code>operation</code> and translate the outcome as follows:
35       * 
36       * <ul>
37       * <li>SUCCESS: return null</li>
38       * <li>WARNING: return {@link PasswordWarning}</li>
39       * <li>FAILURE: throw {@link PasswordException}</li>
40       * </ul>
41       * 
42       * @param operation An operation whose outcome implies password policy 
43       * information
44       * @return A <code>PasswordWarning</code> if warnings are present, or null 
45       * if completely successful.
46       * @throws PasswordException If the <code>operation</code> was a failure.
47       */
48      public PasswordWarning process( PasswordPolicyOperation operation ) throws PasswordException;
49  }