Class Dependency

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, InputLocationTracker

    public class Dependency
    extends java.lang.Object
    implements java.io.Serializable, java.lang.Cloneable, InputLocationTracker
    The <dependency> element contains information about a dependency of the project.
    Version:
    $Revision$ $Date$
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      Dependency()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addExclusion​(Exclusion exclusion)
      Method addExclusion.
      void clearManagementKey()
      Clears the management key in case one field has been modified.
      Dependency clone()
      Method clone.
      java.lang.String getArtifactId()
      Get the unique id for an artifact produced by the project group, e.g.
      java.lang.String getClassifier()
      Get the classifier of the dependency.
      java.util.List<Exclusion> getExclusions()
      Method getExclusions.
      java.lang.String getGroupId()
      Get the project group that produced the dependency, e.g.
      InputLocation getLocation​(java.lang.Object key)
      Gets the location of the specified field in the input source.
      java.lang.String getManagementKey()  
      java.lang.String getOptional()
      Get indicates the dependency is optional for use of this library.
      private InputLocation getOtherLocation​(java.lang.Object key)  
      java.lang.String getScope()
      Get the scope of the dependency - compile, runtime, test, system, and provided.
      java.lang.String getSystemPath()
      Get fOR SYSTEM SCOPE ONLY.
      java.lang.String getType()
      Get the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes.
      java.lang.String getVersion()
      Get the version of the dependency, e.g.
      boolean isOptional()  
      void removeExclusion​(Exclusion exclusion)
      Method removeExclusion.
      void setArtifactId​(java.lang.String artifactId)
      Set the unique id for an artifact produced by the project group, e.g.
      void setClassifier​(java.lang.String classifier)
      Set the classifier of the dependency.
      void setExclusions​(java.util.List<Exclusion> exclusions)
      Set lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies.
      void setGroupId​(java.lang.String groupId)
      Set the project group that produced the dependency, e.g.
      void setLocation​(java.lang.Object key, InputLocation location)
      Sets the location of the specified field.
      void setOptional​(boolean optional)  
      void setOptional​(java.lang.String optional)
      Set indicates the dependency is optional for use of this library.
      void setOtherLocation​(java.lang.Object key, InputLocation location)  
      void setScope​(java.lang.String scope)
      Set the scope of the dependency - compile, runtime, test, system, and provided.
      void setSystemPath​(java.lang.String systemPath)
      Set fOR SYSTEM SCOPE ONLY.
      void setType​(java.lang.String type)
      Set the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes.
      void setVersion​(java.lang.String version)
      Set the version of the dependency, e.g.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • groupId

        private java.lang.String groupId
        The project group that produced the dependency, e.g. org.apache.maven.
      • artifactId

        private java.lang.String artifactId
        The unique id for an artifact produced by the project group, e.g. maven-artifact.
      • version

        private java.lang.String version
        The version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
      • type

        private java.lang.String type
        The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list.
      • classifier

        private java.lang.String classifier
        The classifier of the dependency. It is appended to the filename after the version. This allows:
        • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
        • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
      • scope

        private java.lang.String scope
        The scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile.
      • systemPath

        private java.lang.String systemPath
        FOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
      • exclusions

        private java.util.List<Exclusion> exclusions
        Field exclusions.
      • optional

        private java.lang.String optional
        Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false.
      • locations

        private java.util.Map<java.lang.Object,​InputLocation> locations
        Field locations.
      • groupIdLocation

        private InputLocation groupIdLocation
        Field groupIdLocation.
      • artifactIdLocation

        private InputLocation artifactIdLocation
        Field artifactIdLocation.
      • versionLocation

        private InputLocation versionLocation
        Field versionLocation.
      • typeLocation

        private InputLocation typeLocation
        Field typeLocation.
      • classifierLocation

        private InputLocation classifierLocation
        Field classifierLocation.
      • scopeLocation

        private InputLocation scopeLocation
        Field scopeLocation.
      • systemPathLocation

        private InputLocation systemPathLocation
        Field systemPathLocation.
      • exclusionsLocation

        private InputLocation exclusionsLocation
        Field exclusionsLocation.
      • optionalLocation

        private InputLocation optionalLocation
        Field optionalLocation.
      • managementKey

        private java.lang.String managementKey
    • Constructor Detail

      • Dependency

        public Dependency()
    • Method Detail

      • addExclusion

        public void addExclusion​(Exclusion exclusion)
        Method addExclusion.
        Parameters:
        exclusion -
      • clone

        public Dependency clone()
        Method clone.
        Overrides:
        clone in class java.lang.Object
        Returns:
        Dependency
      • getArtifactId

        public java.lang.String getArtifactId()
        Get the unique id for an artifact produced by the project group, e.g. maven-artifact.
        Returns:
        String
      • getClassifier

        public java.lang.String getClassifier()
        Get the classifier of the dependency. It is appended to the filename after the version. This allows:
        • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
        • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
        Returns:
        String
      • getExclusions

        public java.util.List<Exclusion> getExclusions()
        Method getExclusions.
        Returns:
        List
      • getGroupId

        public java.lang.String getGroupId()
        Get the project group that produced the dependency, e.g. org.apache.maven.
        Returns:
        String
      • getOptional

        public java.lang.String getOptional()
        Get indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false.
        Returns:
        String
      • setOtherLocation

        public void setOtherLocation​(java.lang.Object key,
                                     InputLocation location)
        Parameters:
        key -
        location -
      • getOtherLocation

        private InputLocation getOtherLocation​(java.lang.Object key)
        Parameters:
        key -
        Returns:
        InputLocation
      • getScope

        public java.lang.String getScope()
        Get the scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile.
        Returns:
        String
      • getSystemPath

        public java.lang.String getSystemPath()
        Get fOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
        Returns:
        String
      • getType

        public java.lang.String getType()
        Get the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list.
        Returns:
        String
      • getVersion

        public java.lang.String getVersion()
        Get the version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
        Returns:
        String
      • removeExclusion

        public void removeExclusion​(Exclusion exclusion)
        Method removeExclusion.
        Parameters:
        exclusion -
      • setArtifactId

        public void setArtifactId​(java.lang.String artifactId)
        Set the unique id for an artifact produced by the project group, e.g. maven-artifact.
        Parameters:
        artifactId -
      • setClassifier

        public void setClassifier​(java.lang.String classifier)
        Set the classifier of the dependency. It is appended to the filename after the version. This allows:
        • referring to attached artifact, for example sources and javadoc: see default artifact handlers for a list,
        • distinguishing two artifacts that belong to the same POM but were built differently. For example, jdk14 and jdk15.
        Parameters:
        classifier -
      • setExclusions

        public void setExclusions​(java.util.List<Exclusion> exclusions)
        Set lists a set of artifacts that should be excluded from this dependency's artifact list when it comes to calculating transitive dependencies.
        Parameters:
        exclusions -
      • setGroupId

        public void setGroupId​(java.lang.String groupId)
        Set the project group that produced the dependency, e.g. org.apache.maven.
        Parameters:
        groupId -
      • setOptional

        public void setOptional​(java.lang.String optional)
        Set indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is String for technical reasons, the semantic type is actually Boolean. Default value is false.
        Parameters:
        optional -
      • setScope

        public void setScope​(java.lang.String scope)
        Set the scope of the dependency - compile, runtime, test, system, and provided. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see the dependency mechanism. The default scope is compile.
        Parameters:
        scope -
      • setSystemPath

        public void setSystemPath​(java.lang.String systemPath)
        Set fOR SYSTEM SCOPE ONLY. Note that use of this property is discouraged and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. ${java.home}.
        Parameters:
        systemPath -
      • setType

        public void setType​(java.lang.String type)
        Set the type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are jar, war, ejb-client and test-jar: see default artifact handlers for a list. New types can be defined by extensions, so this is not a complete list.
        Parameters:
        type -
      • setVersion

        public void setVersion​(java.lang.String version)
        Set the version of the dependency, e.g. 3.2.1. In Maven 2, this can also be specified as a range of versions.
        Parameters:
        version -
      • isOptional

        public boolean isOptional()
      • setOptional

        public void setOptional​(boolean optional)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • getManagementKey

        public java.lang.String getManagementKey()
        Returns:
        the management key as groupId:artifactId:type
      • clearManagementKey

        public void clearManagementKey()
        Clears the management key in case one field has been modified.