2362N/A * Copyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A * The <i>Service Provider Interface</i> (<b>SPI</b>) 0N/A * for the {@link CertPathBuilder CertPathBuilder} class. All 0N/A * <code>CertPathBuilder</code> implementations must include a class (the 0N/A * SPI class) that extends this class (<code>CertPathBuilderSpi</code>) and 0N/A * implements all of its methods. In general, instances of this class should 0N/A * only be accessed through the <code>CertPathBuilder</code> class. For 0N/A * details, see the Java Cryptography Architecture. 0N/A * <b>Concurrent Access</b> 0N/A * Instances of this class need not be protected against concurrent 0N/A * access from multiple threads. Threads that need to access a single 0N/A * <code>CertPathBuilderSpi</code> instance concurrently should synchronize 0N/A * amongst themselves and provide the necessary locking before calling the 0N/A * wrapping <code>CertPathBuilder</code> object. 0N/A * However, implementations of <code>CertPathBuilderSpi</code> may still 0N/A * encounter concurrency issues, since multiple threads each 0N/A * manipulating a different <code>CertPathBuilderSpi</code> instance need not 0N/A * @author Sean Mullan 0N/A * The default constructor. 0N/A * Attempts to build a certification path using the specified 0N/A * algorithm parameter set. 0N/A * @param params the algorithm parameters 0N/A * @return the result of the build algorithm 0N/A * @throws CertPathBuilderException if the builder is unable to construct 0N/A * a certification path that satisfies the specified parameters 0N/A * @throws InvalidAlgorithmParameterException if the specified parameters 0N/A * are inappropriate for this <code>CertPathBuilder</code>