1. /*
  2. * $Header: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/MethodRetryHandler.java,v 1.5 2004/07/05 22:46:58 olegk Exp $
  3. * $Revision: 1.5 $
  4. * $Date: 2004/07/05 22:46:58 $
  5. *
  6. * ====================================================================
  7. *
  8. * Copyright 1999-2004 The Apache Software Foundation
  9. *
  10. * Licensed under the Apache License, Version 2.0 (the "License");
  11. * you may not use this file except in compliance with the License.
  12. * You may obtain a copy of the License at
  13. *
  14. * http://www.apache.org/licenses/LICENSE-2.0
  15. *
  16. * Unless required by applicable law or agreed to in writing, software
  17. * distributed under the License is distributed on an "AS IS" BASIS,
  18. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  19. * See the License for the specific language governing permissions and
  20. * limitations under the License.
  21. * ====================================================================
  22. *
  23. * This software consists of voluntary contributions made by many
  24. * individuals on behalf of the Apache Software Foundation. For more
  25. * information on the Apache Software Foundation, please see
  26. * <http://www.apache.org/>.
  27. *
  28. */
  29. package org.apache.commons.httpclient;
  30. /**
  31. * A handler for determining if an HttpMethod should be retried after a
  32. * recoverable exception during execution.
  33. *
  34. * @see HttpMethod#execute(HttpState, HttpConnection)
  35. * @see HttpRecoverableException
  36. *
  37. * @deprecated use {@link HttpMethodRetryHandler}
  38. *
  39. * @author Michael Becke
  40. */
  41. public interface MethodRetryHandler {
  42. /**
  43. * Determines if a method should be retried after an HttpRecoverableException
  44. * occurs during execution.
  45. *
  46. * @param method the method being executed
  47. * @param connection the connection the method is using
  48. * @param recoverableException the exception that occurred
  49. * @param executionCount the number of times this method has been
  50. * unsuccessfully executed
  51. * @param requestSent this argument is unused and will be removed in the future.
  52. * {@link HttpMethod#isRequestSent()} should be used instead
  53. *
  54. * @return <code>true</code> if the method should be retried, <code>false</code>
  55. * otherwise
  56. */
  57. boolean retryMethod(
  58. HttpMethod method,
  59. HttpConnection connection,
  60. HttpRecoverableException recoverableException,
  61. int executionCount,
  62. boolean requestSent);
  63. }