Class NoopDependencyManager
- All Implemented Interfaces:
org.eclipse.aether.collection.DependencyManager
Overview
This is a null-object implementation of DependencyManager
that effectively
disables all dependency management. It always returns null for management operations
and returns itself for child manager derivation, making it a true no-op implementation.
When to Use
- Testing: When you want to disable dependency management for tests
- Simple Resolution: When you want pure dependency resolution without management
- Performance: When dependency management overhead is not needed
- Legacy Systems: When working with systems that handle management externally
Thread Safety
This implementation is completely thread-safe and stateless. The INSTANCE
can be
safely shared across multiple threads and throughout the entire application lifecycle.
Comparison with Other Managers
ClassicDependencyManager
: Maven 2.x compatibility with limited managementTransitiveDependencyManager
: Modern transitive managementDefaultDependencyManager
: Aggressive management at all levels- This manager: No management at all (fastest, simplest)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.eclipse.aether.collection.DependencyManager
A ready-made singleton instance of this dependency manager. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.eclipse.aether.collection.DependencyManager
deriveChildManager
(org.eclipse.aether.collection.DependencyCollectionContext context) Returns this same instance as the child manager (no-op behavior).boolean
int
hashCode()
org.eclipse.aether.collection.DependencyManagement
manageDependency
(org.eclipse.aether.graph.Dependency dependency) Returns null, indicating no dependency management should be applied.
-
Field Details
-
INSTANCE
A ready-made singleton instance of this dependency manager.This instance can be safely reused throughout an entire application regardless of multi-threading, as this implementation is completely stateless and thread-safe. Using this instance is preferred over creating new instances for performance reasons.
-
-
Constructor Details
-
NoopDependencyManager
public NoopDependencyManager()Creates a new instance of this dependency manager.Note: Usually,
INSTANCE
should be used instead of creating new instances, as this implementation is stateless and the singleton provides better performance characteristics.
-
-
Method Details
-
deriveChildManager
public org.eclipse.aether.collection.DependencyManager deriveChildManager(org.eclipse.aether.collection.DependencyCollectionContext context) Returns this same instance as the child manager (no-op behavior).- Specified by:
deriveChildManager
in interfaceorg.eclipse.aether.collection.DependencyManager
- Parameters:
context
- the dependency collection context (validated but not used)- Returns:
- this same instance
- Throws:
NullPointerException
- if context is null
-
manageDependency
public org.eclipse.aether.collection.DependencyManagement manageDependency(org.eclipse.aether.graph.Dependency dependency) Returns null, indicating no dependency management should be applied.- Specified by:
manageDependency
in interfaceorg.eclipse.aether.collection.DependencyManager
- Parameters:
dependency
- the dependency to manage (validated but not used)- Returns:
- null (no management)
- Throws:
NullPointerException
- if dependency is null
-
equals
-
hashCode
-