Class DefaultDependencyManager

  • All Implemented Interfaces:
    DependencyManager

    public final class DefaultDependencyManager
    extends java.lang.Object
    implements DependencyManager
    A dependency manager managing dependencies on all levels supporting transitive dependency management.

    Note:Unlike the ClassicDependencyManager and the TransitiveDependencyManager this implementation applies management also on the first level. This is considered the resolver's default behaviour. It ignores all management overrides supported by the MavenModelBuilder.

    Since:
    1.4.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int hashCode  
      private java.util.Map<java.lang.Object,​java.util.Collection<Exclusion>> managedExclusions  
      private java.util.Map<java.lang.Object,​java.lang.String> managedLocalPaths  
      private java.util.Map<java.lang.Object,​java.lang.Boolean> managedOptionals  
      private java.util.Map<java.lang.Object,​java.lang.String> managedScopes  
      private java.util.Map<java.lang.Object,​java.lang.String> managedVersions  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        DefaultDependencyManager()
      Creates a new dependency manager without any management information.
      private DefaultDependencyManager​(java.util.Map<java.lang.Object,​java.lang.String> managedVersions, java.util.Map<java.lang.Object,​java.lang.String> managedScopes, java.util.Map<java.lang.Object,​java.lang.Boolean> managedOptionals, java.util.Map<java.lang.Object,​java.lang.String> managedLocalPaths, java.util.Map<java.lang.Object,​java.util.Collection<Exclusion>> managedExclusions)  
    • Field Detail

      • managedVersions

        private final java.util.Map<java.lang.Object,​java.lang.String> managedVersions
      • managedScopes

        private final java.util.Map<java.lang.Object,​java.lang.String> managedScopes
      • managedOptionals

        private final java.util.Map<java.lang.Object,​java.lang.Boolean> managedOptionals
      • managedLocalPaths

        private final java.util.Map<java.lang.Object,​java.lang.String> managedLocalPaths
      • managedExclusions

        private final java.util.Map<java.lang.Object,​java.util.Collection<Exclusion>> managedExclusions
      • hashCode

        private int hashCode
    • Constructor Detail

      • DefaultDependencyManager

        public DefaultDependencyManager()
        Creates a new dependency manager without any management information.
      • DefaultDependencyManager

        private DefaultDependencyManager​(java.util.Map<java.lang.Object,​java.lang.String> managedVersions,
                                         java.util.Map<java.lang.Object,​java.lang.String> managedScopes,
                                         java.util.Map<java.lang.Object,​java.lang.Boolean> managedOptionals,
                                         java.util.Map<java.lang.Object,​java.lang.String> managedLocalPaths,
                                         java.util.Map<java.lang.Object,​java.util.Collection<Exclusion>> managedExclusions)
    • Method Detail

      • deriveChildManager

        public DependencyManager deriveChildManager​(DependencyCollectionContext context)
        Description copied from interface: DependencyManager
        Derives a dependency manager for the specified collection context. When calculating the child manager, implementors are strongly advised to simply return the current instance if nothing changed to help save memory.
        Specified by:
        deriveChildManager in interface DependencyManager
        Parameters:
        context - The dependency collection context, must not be null.
        Returns:
        The dependency manager for the dependencies of the target node or null if dependency management should no longer be applied.
      • manageDependency

        public DependencyManagement manageDependency​(Dependency dependency)
        Description copied from interface: DependencyManager
        Applies dependency management to the specified dependency.
        Specified by:
        manageDependency in interface DependencyManager
        Parameters:
        dependency - The dependency to manage, must not be null.
        Returns:
        The management update to apply to the dependency or null if the dependency is not managed at all.
      • getKey

        private java.lang.Object getKey​(Artifact a)
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object