001 package org.shiftone.jrat.util; 002 003 004 import org.shiftone.jrat.util.io.ResourceUtil; 005 import org.shiftone.jrat.util.log.Logger; 006 007 import java.util.Properties; 008 009 010 public class VersionUtil { 011 012 private static final Logger LOG = Logger.getLogger(VersionUtil.class); 013 private static VersionUtil versionUtil = null; 014 private String version; 015 private String buildOn; 016 private String builtBy; 017 018 private VersionUtil() { 019 020 try { 021 Properties properties = ResourceUtil.getResourceAsProperties("org/shiftone/jrat/version.properties"); 022 023 version = properties.getProperty("version"); 024 buildOn = properties.getProperty("built_on"); 025 builtBy = properties.getProperty("built_by"); 026 } 027 catch (Exception e) { 028 version = buildOn = builtBy = "?"; 029 } 030 } 031 032 033 private static synchronized VersionUtil getVersionUtil() { 034 035 if (versionUtil == null) { 036 versionUtil = new VersionUtil(); 037 } 038 039 return versionUtil; 040 } 041 042 043 public static String getVersion() { 044 return getVersionUtil().version; 045 } 046 047 048 public static String getBuiltBy() { 049 return getVersionUtil().builtBy; 050 } 051 052 053 public static String getBuiltOn() { 054 return getVersionUtil().buildOn; 055 } 056 }