jdk/src/share/classes/java/security/cert/CertPathBuilderSpi.java
changeset 18551 882a3948c6e6
parent 12860 9ffbd4e43413
child 19828 b4f91bc595fe
equal deleted inserted replaced
18550:6d0f51c99930 18551:882a3948c6e6
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
    28 import java.security.InvalidAlgorithmParameterException;
    28 import java.security.InvalidAlgorithmParameterException;
    29 
    29 
    30 /**
    30 /**
    31  * The <i>Service Provider Interface</i> (<b>SPI</b>)
    31  * The <i>Service Provider Interface</i> (<b>SPI</b>)
    32  * for the {@link CertPathBuilder CertPathBuilder} class. All
    32  * for the {@link CertPathBuilder CertPathBuilder} class. All
    33  * <code>CertPathBuilder</code> implementations must include a class (the
    33  * {@code CertPathBuilder} implementations must include a class (the
    34  * SPI class) that extends this class (<code>CertPathBuilderSpi</code>) and
    34  * SPI class) that extends this class ({@code CertPathBuilderSpi}) and
    35  * implements all of its methods. In general, instances of this class should
    35  * implements all of its methods. In general, instances of this class should
    36  * only be accessed through the <code>CertPathBuilder</code> class. For
    36  * only be accessed through the {@code CertPathBuilder} class. For
    37  * details, see the Java Cryptography Architecture.
    37  * details, see the Java Cryptography Architecture.
    38  * <p>
    38  * <p>
    39  * <b>Concurrent Access</b>
    39  * <b>Concurrent Access</b>
    40  * <p>
    40  * <p>
    41  * Instances of this class need not be protected against concurrent
    41  * Instances of this class need not be protected against concurrent
    42  * access from multiple threads. Threads that need to access a single
    42  * access from multiple threads. Threads that need to access a single
    43  * <code>CertPathBuilderSpi</code> instance concurrently should synchronize
    43  * {@code CertPathBuilderSpi} instance concurrently should synchronize
    44  * amongst themselves and provide the necessary locking before calling the
    44  * amongst themselves and provide the necessary locking before calling the
    45  * wrapping <code>CertPathBuilder</code> object.
    45  * wrapping {@code CertPathBuilder} object.
    46  * <p>
    46  * <p>
    47  * However, implementations of <code>CertPathBuilderSpi</code> may still
    47  * However, implementations of {@code CertPathBuilderSpi} may still
    48  * encounter concurrency issues, since multiple threads each
    48  * encounter concurrency issues, since multiple threads each
    49  * manipulating a different <code>CertPathBuilderSpi</code> instance need not
    49  * manipulating a different {@code CertPathBuilderSpi} instance need not
    50  * synchronize.
    50  * synchronize.
    51  *
    51  *
    52  * @since       1.4
    52  * @since       1.4
    53  * @author      Sean Mullan
    53  * @author      Sean Mullan
    54  */
    54  */
    66      * @param params the algorithm parameters
    66      * @param params the algorithm parameters
    67      * @return the result of the build algorithm
    67      * @return the result of the build algorithm
    68      * @throws CertPathBuilderException if the builder is unable to construct
    68      * @throws CertPathBuilderException if the builder is unable to construct
    69      * a certification path that satisfies the specified parameters
    69      * a certification path that satisfies the specified parameters
    70      * @throws InvalidAlgorithmParameterException if the specified parameters
    70      * @throws InvalidAlgorithmParameterException if the specified parameters
    71      * are inappropriate for this <code>CertPathBuilder</code>
    71      * are inappropriate for this {@code CertPathBuilder}
    72      */
    72      */
    73     public abstract CertPathBuilderResult engineBuild(CertPathParameters params)
    73     public abstract CertPathBuilderResult engineBuild(CertPathParameters params)
    74         throws CertPathBuilderException, InvalidAlgorithmParameterException;
    74         throws CertPathBuilderException, InvalidAlgorithmParameterException;
    75 
    75 
    76     /**
    76     /**