package org.togglz.core; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.Properties; import org.togglz.core.util.Strings; public class Togglz { /** * Returns <code>Togglz</code> followed by the version if available */ public static String getNameWithVersion() { String version = getVersion(); return version != null ? "Togglz " + version : "Togglz"; } /** * The version of Togglz or <code>null</code> if it cannot be identified */ public static String getVersion() { ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); if (classLoader == null) { classLoader = Togglz.class.getClassLoader(); } URL url = classLoader.getResource("META-INF/maven/org.togglz/togglz-core/pom.properties"); if (url != null) { InputStream stream = null; try { stream = url.openStream(); Properties props = new Properties(); props.load(stream); return Strings.trimToNull(props.getProperty("version")); } catch (IOException e) { // ignore } finally { if (stream != null) { try { stream.close(); } catch (IOException e) { // ignore } } } } return null; } }