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