/* * Copyright 2004-2006 Geert Bevin <gbevin[remove] at uwyn dot com> * Distributed under the terms of either: * - the common development and distribution license (CDDL), v1.0; or * - the GNU Lesser General Public License, v2.1 or later * $Id: JHighlightVersion.java 3108 2006-03-13 18:03:00Z gbevin $ */ package com.uwyn.jhighlight; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; /** * Provides acces to the version number of this JHighlight release. * * @author Geert Bevin (gbevin[remove] at uwyn dot com) * @version $Revision: 3108 $ * @since 1.0 */ public class JHighlightVersion { private String mVersion = null; JHighlightVersion() { URL version_url = getClass().getClassLoader().getResource("JHIGHLIGHT_VERSION"); if (version_url != null) { try { URLConnection connection = version_url.openConnection(); connection.setUseCaches(false); InputStream inputStream = connection.getInputStream(); byte[] buffer = new byte[64]; int return_value = -1; ByteArrayOutputStream output_stream = new ByteArrayOutputStream(buffer.length); try { return_value = inputStream.read(buffer); while (-1 != return_value) { output_stream.write(buffer, 0, return_value); return_value = inputStream.read(buffer); } } finally { output_stream.close(); inputStream.close(); } mVersion = output_stream.toString("UTF-8"); } catch (IOException e) { mVersion = null; } } if (mVersion != null) { mVersion = mVersion.trim(); } if (null == mVersion) { mVersion = "(unknown version)"; } } private String getVersionString() { return mVersion; } /** * Returns the version number of this JHighlight release. * * @return the version number * @since 1.0 */ public static String getVersion() { return JHighlightVersionSingleton.INSTANCE.getVersionString(); } }