All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.exasol.projectkeeper.shared.dependencies.BaseDependency Maven / Gradle / Ivy

The newest version!
package com.exasol.projectkeeper.shared.dependencies;

/** Base for {@link ProjectDependency} and {@link VersionedDependency} */
public interface BaseDependency {
    /**
     * Get the dependency type.
     * 
     * @return type of the dependency
     */
    Type getType();

    /**
     * Get the dependency name.
     * 
     * @return name of the module of the dependency
     */
    String getName();

    /** Type of the dependency */
    public enum Type {
        /** Compile dependency. */
        COMPILE("Compile Dependency Updates"),
        /** Runtime dependency */
        RUNTIME("Runtime Dependency Updates"),
        /** Test dependency */
        TEST("Test Dependency Updates"),
        /** Plugin */
        PLUGIN("Plugin Dependency Updates"),
        /** Development */
        DEV("Development Dependency Updates"),
        /** Unknown used for removed Golang dependencies as Go cannot detect the type anymore. */
        UNKNOWN("Other Dependency Updates");

        private final String header;

        private Type(final String header) {
            this.header = header;
        }

        /**
         * Get header.
         * 
         * @return header for reporting dependencies of the current type.
         */
        public String getHeader() {
            return this.header;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy