Enum ServerVersion

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<ServerVersion>, Version

    public enum ServerVersion
    extends java.lang.Enum<ServerVersion>
    implements Version
    Enumeration for PostgreSQL versions.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int version  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ServerVersion​(java.lang.String version)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static Version from​(java.lang.String version)
      Attempt to parse the server version string into an XXYYZZ form version number into a Version.
      int getVersionNum()
      Get a machine-readable version number.
      (package private) static int parseServerVersionStr​(java.lang.String serverVersion)
      Attempt to parse the server version string into an XXYYZZ form version number.
      static ServerVersion valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static ServerVersion[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • version

        private final int version
    • Constructor Detail

      • ServerVersion

        private ServerVersion​(java.lang.String version)
    • Method Detail

      • values

        public static ServerVersion[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (ServerVersion c : ServerVersion.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static ServerVersion valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getVersionNum

        public int getVersionNum()
        Get a machine-readable version number.
        Specified by:
        getVersionNum in interface Version
        Returns:
        the version in numeric XXYYZZ form, e.g. 90401 for 9.4.1
      • from

        public static Version from​(java.lang.String version)

        Attempt to parse the server version string into an XXYYZZ form version number into a Version.

        If the specified version cannot be parsed, the Version.getVersionNum() will return 0.

        Parameters:
        version - version in numeric XXYYZZ form, e.g. "090401" for 9.4.1
        Returns:
        a Version representing the specified version string.
      • parseServerVersionStr

        static int parseServerVersionStr​(java.lang.String serverVersion)
                                  throws java.lang.NumberFormatException

        Attempt to parse the server version string into an XXYYZZ form version number.

        Returns 0 if the version could not be parsed.

        Returns minor version 0 if the minor version could not be determined, e.g. devel or beta releases.

        If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form).

        The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a version part is out of range.

        Parameters:
        serverVersion - server vertion in a XXYYZZ form
        Returns:
        server version in number form
        Throws:
        java.lang.NumberFormatException