1. /*
  2. * @(#)CertPathBuilderResult.java 1.5 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package java.security.cert;
  8. /**
  9. * A specification of the result of a certification path builder algorithm.
  10. * All results returned by the {@link CertPathBuilder#build
  11. * CertPathBuilder.build} method must implement this interface.
  12. * <p>
  13. * At a minimum, a <code>CertPathBuilderResult</code> contains the
  14. * <code>CertPath</code> built by the <code>CertPathBuilder</code> instance.
  15. * Implementations of this interface may add methods to return implementation
  16. * or algorithm specific information, such as debugging information or
  17. * certification path validation results.
  18. * <p>
  19. * <b>Concurrent Access</b>
  20. * <p>
  21. * Unless otherwise specified, the methods defined in this interface are not
  22. * thread-safe. Multiple threads that need to access a single
  23. * object concurrently should synchronize amongst themselves and
  24. * provide the necessary locking. Multiple threads each manipulating
  25. * separate objects need not synchronize.
  26. *
  27. * @see CertPathBuilder
  28. *
  29. * @version 1.5 01/23/03
  30. * @since 1.4
  31. * @author Sean Mullan
  32. */
  33. public interface CertPathBuilderResult extends Cloneable {
  34. /**
  35. * Returns the built certification path.
  36. *
  37. * @return the certification path (never <code>null</code>)
  38. */
  39. CertPath getCertPath();
  40. /**
  41. * Makes a copy of this <code>CertPathBuilderResult</code>. Changes to the
  42. * copy will not affect the original and vice versa.
  43. *
  44. * @return a copy of this <code>CertPathBuilderResult</code>
  45. */
  46. Object clone();
  47. }