/**@class javax.net.ssl.TrustManagerFactory
@extends java.lang.Object

 This class acts as a factory for trust managers based on a
 source of trust material. Each trust manager manages a specific
 type of trust material for use by secure sockets. The trust
 material is based on a KeyStore and/or provider specific sources.

 <p> Android provides the following <code>TrustManagerFactory</code> algorithms:
 <table>
   <thead>
     <tr>
       <th>Algorithm</th>
       <th>Supported API Levels</th>
     </tr>
   </thead>
   <tbody>
     <tr>
       <td>PKIX</td>
       <td>1+</td>
     </tr>
   </tbody>
 </table>

 @since 1.4
 @see TrustManager
*/
var TrustManagerFactory = {

/**Obtains the default TrustManagerFactory algorithm name.

 <p>The default TrustManager can be changed at runtime by setting
 the value of the {@code ssl.TrustManagerFactory.algorithm}
 security property to the desired algorithm name.
@see java.security.Security security properties
@return {String} the default algorithm name as specified by the
 {@code ssl.TrustManagerFactory.algorithm} security property, or an
 implementation-specific default if no such property exists.
*/
getDefaultAlgorithm : function(  ) {},

/**Returns the algorithm name of this <code>TrustManagerFactory</code>
 object.

 <p>This is the same name that was specified in one of the
 <code>getInstance</code> calls that created this
 <code>TrustManagerFactory</code> object.
@return {String} the algorithm name of this <code>TrustManagerFactory</code>
          object
*/
getAlgorithm : function(  ) {},

/**Returns a <code>TrustManagerFactory</code> object that acts as a
 factory for trust managers.

 <p> This method traverses the list of registered security Providers,
 starting with the most preferred Provider.
 A new TrustManagerFactory object encapsulating the
 TrustManagerFactorySpi implementation from the first
 Provider that supports the specified algorithm is returned.

 <p> Note that the list of registered providers may be retrieved via
 the {@link Security#getProviders() Security.getProviders()} method.
@param {String} algorithm the standard name of the requested trust management
          algorithm.  See the <a href=
  "https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html">
          Java Secure Socket Extension Reference Guide </a>
          for information about standard algorithm names.
@return {Object {javax.net.ssl.TrustManagerFactory}} the new <code>TrustManagerFactory</code> object.
@exception NoSuchAlgorithmException if no Provider supports a
          TrustManagerFactorySpi implementation for the
          specified algorithm.
@exception NullPointerException if algorithm is null.
@see java.security.Provider
*/
getInstance : function(  ) {},

/**Returns a <code>TrustManagerFactory</code> object that acts as a
 factory for trust managers.

 <p> A new KeyManagerFactory object encapsulating the
 KeyManagerFactorySpi implementation from the specified provider
 is returned.  The specified provider must be registered
 in the security provider list.

 <p> Note that the list of registered providers may be retrieved via
 the {@link Security#getProviders() Security.getProviders()} method.
@param {String} algorithm the standard name of the requested trust management
          algorithm.  See the <a href=
  "https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html">
          Java Secure Socket Extension Reference Guide </a>
          for information about standard algorithm names.
@param {String} provider the name of the provider.
@return {Object {javax.net.ssl.TrustManagerFactory}} the new <code>TrustManagerFactory</code> object
@throws NoSuchAlgorithmException if a TrustManagerFactorySpi
          implementation for the specified algorithm is not
          available from the specified provider.
@throws NoSuchProviderException if the specified provider is not
          registered in the security provider list.
@throws IllegalArgumentException if the provider name is null or empty.
@throws NullPointerException if algorithm is null.
@see java.security.Provider
*/
getInstance : function(  ) {},

/**Returns a <code>TrustManagerFactory</code> object that acts as a
 factory for trust managers.

 <p> A new TrustManagerFactory object encapsulating the
 TrustManagerFactorySpi implementation from the specified Provider
 object is returned.  Note that the specified Provider object
 does not have to be registered in the provider list.
@param {String} algorithm the standard name of the requested trust management
          algorithm.  See the <a href=
  "https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html">
          Java Secure Socket Extension Reference Guide </a>
          for information about standard algorithm names.
@param {Object {Provider}} provider an instance of the provider.
@return {Object {javax.net.ssl.TrustManagerFactory}} the new <code>TrustManagerFactory</code> object.
@throws NoSuchAlgorithmException if a TrustManagerFactorySpi
          implementation for the specified algorithm is not available
          from the specified Provider object.
@throws IllegalArgumentException if the provider is null.
@throws NullPointerException if algorithm is null.
@see java.security.Provider
*/
getInstance : function(  ) {},

/**Returns the provider of this <code>TrustManagerFactory</code> object.
@return {Object {java.security.Provider}} the provider of this <code>TrustManagerFactory</code> object
*/
getProvider : function(  ) {},

/**Initializes this factory with a source of certificate
 authorities and related trust material.
 <P>
 The provider typically uses a KeyStore as a basis for making
 trust decisions.
 <P>
 For more flexible initialization, please see
 {@link #init}(ManagerFactoryParameters).
@param {Object {KeyStore}} ks the key store, or null
@throws KeyStoreException if this operation fails
*/
init : function(  ) {},

/**Initializes this factory with a source of provider-specific
 trust material.
 <P>
 In some cases, initialization parameters other than a keystore
 may be needed by a provider.  Users of that particular provider
 are expected to pass an implementation of the appropriate
 <CODE>ManagerFactoryParameters</CODE> as defined by the
 provider.  The provider can then call the specified methods in
 the <CODE>ManagerFactoryParameters</CODE> implementation to obtain the
 needed information.
@param {Object {ManagerFactoryParameters}} spec an implementation of a provider-specific parameter
          specification
@throws InvalidAlgorithmParameterException if an error is
          encountered
*/
init : function(  ) {},

/**Returns one trust manager for each type of trust material.
@throws IllegalStateException if the factory is not initialized.
@return {Object {javax.net.ssl.TrustManager}} the trust managers
*/
getTrustManagers : function(  ) {},


};