001    /*
002     * (c) Copyright 2009 University of Bristol
003     * All rights reserved.
004     * [See end of file]
005     */
006    package net.rootdev.javardfa;
007    
008    import java.io.IOException;
009    import java.util.Properties;
010    import org.slf4j.Logger;
011    import org.slf4j.LoggerFactory;
012    
013    /**
014     *
015     * @author pldms
016     */
017    public class Version {
018        private final static Logger log = LoggerFactory.getLogger(Version.class);
019        private final static Version i = new Version();
020    
021        private final String name;
022        private final String version;
023    
024        public static Version get() { return i; }
025    
026        public Version() {
027            Properties props = new Properties();
028            String _name, _version;
029            try {
030                props.load(Version.class.getResourceAsStream("/library.properties"));
031                _name = props.getProperty("library.name");
032                _version = props.getProperty("library.version");
033            } catch (IOException ex) {
034                log.error("Error loading version info from library.properties", ex);
035                _name = "Unknown";
036                _version = "Unknown";
037            }
038            this.name = _name;
039            this.version = _version;
040        }
041    
042        public String getName() { return this.name; }
043        public String getVersion() { return this.version; }
044        public String toString() { return getName() + " " + getVersion(); }
045    }
046    
047    /*
048     * (c) Copyright 2009 University of Bristol
049     * All rights reserved.
050     *
051     * Redistribution and use in source and binary forms, with or without
052     * modification, are permitted provided that the following conditions
053     * are met:
054     * 1. Redistributions of source code must retain the above copyright
055     *    notice, this list of conditions and the following disclaimer.
056     * 2. Redistributions in binary form must reproduce the above copyright
057     *    notice, this list of conditions and the following disclaimer in the
058     *    documentation and/or other materials provided with the distribution.
059     * 3. The name of the author may not be used to endorse or promote products
060     *    derived from this software without specific prior written permission.
061     *
062     * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
063     * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
064     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
065     * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
066     * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
067     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
068     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
069     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
070     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
071     * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
072     */