Class AbstractCredentialReader<T>

  • Type Parameters:
    T - Type of credential read by this instance.
    All Implemented Interfaces:
    CredentialReader<T>
    Direct Known Subclasses:
    KeyStoreCredentialReader, PrivateKeyCredentialReader, X509CertificateCredentialReader, X509CertificatesCredentialReader

    public abstract class AbstractCredentialReader<T>
    extends java.lang.Object
    implements CredentialReader<T>
    Base class for all credential readers. It provides support for loading files from resources on the classpath or a filepath. If a path is prefixed with the string "classpath:" it is interpreted as a classpath specification. If a path is prefixed with the string "file:" it is interpreted as a file path. Any other input throws IllegalArgumentException.
    Author:
    Middleware Services
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.slf4j.Logger logger
      Logger for this class.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.io.InputStream getBufferedInputStream​(java.io.InputStream is)
      Gets a buffered input stream from the given input stream.
      T read​(java.lang.String path, java.lang.String... params)
      Reads a credential object from a path.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        protected final org.slf4j.Logger logger
        Logger for this class.
    • Constructor Detail

      • AbstractCredentialReader

        public AbstractCredentialReader()
    • Method Detail

      • read

        public T read​(java.lang.String path,
                      java.lang.String... params)
               throws java.io.IOException,
                      java.security.GeneralSecurityException
        Description copied from interface: CredentialReader
        Reads a credential object from a path.
        Specified by:
        read in interface CredentialReader<T>
        Parameters:
        path - from which to read credential.
        params - Arbitrary string parameters, e.g. password, needed to read the credential.
        Returns:
        credential read from data at path.
        Throws:
        java.io.IOException - On IO errors.
        java.security.GeneralSecurityException - On errors with the credential data.
      • getBufferedInputStream

        protected java.io.InputStream getBufferedInputStream​(java.io.InputStream is)
        Gets a buffered input stream from the given input stream. If the given instance is already buffered, it is simply returned.
        Parameters:
        is - input stream from which to create buffered instance.
        Returns:
        buffered input stream. If the given instance is already buffered, it is simply returned.