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   *     https://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.api.future;
21  
22  
23  import java.util.concurrent.Future;
24  
25  import org.apache.directory.api.ldap.model.message.Response;
26  
27  
28  /**
29   * A Future implementation used in LdapConnection operations.
30   *
31   * @param <R> The result type returned by this Future's <tt>get</tt> method
32   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
33   */
34  public interface ResponseFuture<R extends Response> extends Future<R>
35  {
36      /**
37       * Set the associated Response in this Future
38       * 
39       * @param response The response to add into the Future
40       * @throws InterruptedException if the operation has been cancelled by client
41       */
42      void set( R response ) throws InterruptedException;
43  
44  
45      /**
46       * @return the cause
47       */
48      Throwable getCause();
49  
50  
51      /**
52       * Associate a cause to the ResponseFuture
53       * @param cause the cause to set
54       */
55      void setCause( Throwable cause );
56  
57  
58      /**
59       * Cancel the Future
60       *
61       */
62      void cancel();
63  }