Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Public Firebird Java API.
   *
   * Redistribution and use in source and binary forms, with or without 
   * modification, are permitted provided that the following conditions are met:
   *    1. Redistributions of source code must retain the above copyright notice, 
   *       this list of conditions and the following disclaimer.
   *    2. Redistributions in binary form must reproduce the above copyright 
   *       notice, this list of conditions and the following disclaimer in the 
  *       documentation and/or other materials provided with the distribution. 
  *    3. The name of the author may not be used to endorse or promote products 
  *       derived from this software without specific prior written permission.
  * 
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
  * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 package org.firebirdsql.gds.impl;
 
Object representing a Firebird server version. The version string is returned in response to the isc_info_firebird_version information call. Expected version format is:

<platform>-<type><majorVersion>.<minorVersion>.<variant>.<buildNum> <serverName>[,<extended server info>]

where platform is a two-character platform identification string, Windows for example is "WI", type is one of the three characters: "V" - production version, "T" - beta version, "X" - development version.
 
 public class GDSServerVersion implements Serializable {
 
 	private static final long serialVersionUID = -153657557318248541L;
 	
 	public static final String TYPE_PRODUCTION = "V";
     public static final String TYPE_BETA = "T";
     public static final String TYPE_DEVELOPMENT = "X";
 
     private static final Pattern VERSION_PATTERN = 
     	Pattern.compile("((\\w{2})-(\\w)(\\d+)\\.(\\d+)\\.(\\d+)\\.(\\d+)) ([^-,]+)(?:[-,](.*))?");
     
     private static final int FULL_VERSION_IDX = 1;
     private static final int PLATFORM_IDX = 2;
     private static final int TYPE_IDX = 3;
     private static final int MAJOR_IDX = 4;
     private static final int MINOR_IDX = 5;
     private static final int VARIANT_IDX = 6;
     private static final int BUILD_IDX = 7;
     private static final int SERVER_NAME_IDX = 8;
     private static final int EXTENDED_INFO_IDX = 9;    
 
     private String rawStr;
     
     private String platform;
     private String type;
 
     private String fullVersion;
     private int majorVersion;
     private int minorVersion;
     private int variant;
     private int buildNumber;
 
     private String serverName;
     private String extendedServerName;
 
     private GDSServerVersion() {
     }
 
     public int getBuildNumber() {
         return ;
     }
 
     public int getMajorVersion() {
         return ;
     }
 
     public int getMinorVersion() {
         return ;
     }
 
     public String getPlatform() {
         return ;
     }
 
     public String getServerName() {
         return ;
     }
    public String getType() {
        return ;
    }
    public int getVariant() {
        return ;
    }
    public String getExtendedServerName() {
        return ;
    }
    
    public String getFullVersion() {
    	return ;
    }
    public int hashCode() {
        return .hashCode();
    }
    public boolean equals(Object obj) {
        if (obj == thisreturn true;
        if (!(obj instanceof GDSServerVersion)) return false;
        GDSServerVersion that = (GDSServerVersionobj;
        return .equals(that.rawStr);
    }
    public String toString() {
        return ;
    }

    
Parse the raw version string and create a GDSServerVersion object.

Parameters:
versionString string to parse.
Throws:
GDSServerVersionException if versionString does not match expected pattern
    public static GDSServerVersion parseRawVersion(String versionStringthrows GDSServerVersionException {
    	Matcher matcher = .matcher(versionString);
    	if (!matcher.matches()) {
            throw new GDSServerVersionException(String.format("Version string \"%s\" does not match expected format",
                    versionString));
    	}
    	
    	GDSServerVersion version = new GDSServerVersion();
    	
    	version.rawStr = versionString;
    	
    	version.serverName = matcher.group();
    	version.extendedServerName = matcher.group();
    	version.platform = matcher.group();
    	version.type = matcher.group();
    	version.fullVersion = matcher.group();
    	version.majorVersion = Integer.parseInt(matcher.group());
    	version.minorVersion = Integer.parseInt(matcher.group());
    	version.variant = Integer.parseInt(matcher.group());
    	version.buildNumber = Integer.parseInt(matcher.group());
    	
    	return version;
    }
New to GrepCode? Check out our FAQ X