Class PgPassParser


  • public class PgPassParser
    extends java.lang.Object
    helps to read Password File. https://www.postgresql.org/docs/current/libpq-pgpass.html
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String database  
      private java.lang.String hostname  
      private static java.util.logging.Logger LOGGER  
      private java.lang.String port  
      private static char SEPARATOR  
      private java.lang.String user  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private PgPassParser​(java.lang.String hostname, java.lang.String port, java.lang.String database, java.lang.String user)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.lang.String checkForPattern​(java.lang.String line, java.lang.String value)  
      private java.lang.String evaluateLine​(java.lang.String fullLine, int currentLine)  
      private static java.lang.String extractPassword​(java.lang.String line)  
      private java.lang.String findPassword()  
      private static java.lang.String findPgPasswordResourceName()  
      static java.lang.String getPassword​(java.lang.String hostname, java.lang.String port, java.lang.String database, java.lang.String user)
      Read .pgpass resource
      private static java.io.InputStream openInputStream​(java.lang.String resourceName)  
      private java.lang.String parseInputStream​(java.io.InputStream inputStream)  
      • Methods inherited from class java.lang.Object

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

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • hostname

        private final java.lang.String hostname
      • port

        private final java.lang.String port
      • database

        private final java.lang.String database
      • user

        private final java.lang.String user
    • Constructor Detail

      • PgPassParser

        private PgPassParser​(java.lang.String hostname,
                             java.lang.String port,
                             java.lang.String database,
                             java.lang.String user)
    • Method Detail

      • getPassword

        public static java.lang.String getPassword​(java.lang.String hostname,
                                                   java.lang.String port,
                                                   java.lang.String database,
                                                   java.lang.String user)
        Read .pgpass resource
        Parameters:
        hostname - hostname or *
        port - port or *
        database - database or *
        user - username or *
        Returns:
        password or null
      • findPassword

        private java.lang.String findPassword()
      • openInputStream

        private static java.io.InputStream openInputStream​(java.lang.String resourceName)
                                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • findPgPasswordResourceName

        private static java.lang.String findPgPasswordResourceName()
      • parseInputStream

        private java.lang.String parseInputStream​(java.io.InputStream inputStream)
                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • evaluateLine

        private java.lang.String evaluateLine​(java.lang.String fullLine,
                                              int currentLine)
      • extractPassword

        private static java.lang.String extractPassword​(java.lang.String line)
      • checkForPattern

        private static java.lang.String checkForPattern​(java.lang.String line,
                                                        java.lang.String value)