    001package javax.visrec.spi;
    002
    003/**
    004 * Returns information about the used implementation of visual recognition API
    005 * @author Kevin Berendsen
    006 * @since 1.0
    007 */
    008public abstract class ImplementationService {
    009
    010    /**
    011     * Get the name of the implementation
    012     * @return name as {@code String}
    013     */
    014    public abstract String getName();
    015
    016    /**
    017     * Get the major version of the implementation
    018     * @return major version as {@code int}
    019     */
    020    public abstract int getMajorVersion();
    021
    022    /**
    023     * Get the minor version of the implementation
    024     * @return minor version as {@code int}
    025     */
    026    public abstract int getMinorVersion();
    027
    028    /**
    029     * Returns the name, major and minor version of the implementation
    030     * @return combined information in a {@code String}
    031     */
    032    @Override
    033    public final String toString() {
    034        return getName() + " " + getMajorVersion() + "." + getMinorVersion();
    035    }
    036}