Class ChainedVersionFilter
- java.lang.Object
-
- org.eclipse.aether.util.graph.version.ChainedVersionFilter
-
- All Implemented Interfaces:
VersionFilter
public final class ChainedVersionFilter extends java.lang.Object implements VersionFilter
A version filter that combines multiple version filters into a chain where each filter gets invoked one after the other, thereby accumulating their filtering effects.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.eclipse.aether.collection.VersionFilter
VersionFilter.VersionFilterContext
-
-
Field Summary
Fields Modifier and Type Field Description private VersionFilter[]
filters
private int
hashCode
-
Constructor Summary
Constructors Modifier Constructor Description private
ChainedVersionFilter(VersionFilter[] filters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description VersionFilter
deriveChildFilter(DependencyCollectionContext context)
Derives a version filter for the specified collection context.boolean
equals(java.lang.Object obj)
void
filterVersions(VersionFilter.VersionFilterContext context)
Filters the available versions for a given dependency.int
hashCode()
static VersionFilter
newInstance(java.util.Collection<? extends VersionFilter> filters)
Chains the specified version filters.static VersionFilter
newInstance(VersionFilter... filters)
Chains the specified version filters.static VersionFilter
newInstance(VersionFilter filter1, VersionFilter filter2)
Chains the specified version filters.
-
-
-
Field Detail
-
filters
private final VersionFilter[] filters
-
hashCode
private int hashCode
-
-
Constructor Detail
-
ChainedVersionFilter
private ChainedVersionFilter(VersionFilter[] filters)
-
-
Method Detail
-
newInstance
public static VersionFilter newInstance(VersionFilter filter1, VersionFilter filter2)
Chains the specified version filters.- Parameters:
filter1
- The first version filter, may benull
.filter2
- The second version filter, may benull
.- Returns:
- The chained version filter or
null
if both input filters arenull
.
-
newInstance
public static VersionFilter newInstance(VersionFilter... filters)
Chains the specified version filters.- Parameters:
filters
- The version filters to chain, must not benull
or containnull
.- Returns:
- The chained version filter or
null
if the input array is empty.
-
newInstance
public static VersionFilter newInstance(java.util.Collection<? extends VersionFilter> filters)
Chains the specified version filters.- Parameters:
filters
- The version filters to chain, must not benull
or containnull
.- Returns:
- The chained version filter or
null
if the input collection is empty.
-
filterVersions
public void filterVersions(VersionFilter.VersionFilterContext context) throws RepositoryException
Description copied from interface:VersionFilter
Filters the available versions for a given dependency. Implementations will usually callcontext.iterator()
to inspect the available versions and useIterator.remove()
to delete unacceptable versions. If no versions remain after all filtering has been performed, the dependency collection process will automatically fail, i.e. implementations need not handle this situation on their own.- Specified by:
filterVersions
in interfaceVersionFilter
- Parameters:
context
- The version filter context, must not benull
.- Throws:
RepositoryException
- If the filtering could not be performed.
-
deriveChildFilter
public VersionFilter deriveChildFilter(DependencyCollectionContext context)
Description copied from interface:VersionFilter
Derives a version filter for the specified collection context. The derived filter will be used to handle version ranges encountered in child dependencies of the current node. When calculating the child filter, implementors are strongly advised to simply return the current instance if nothing changed to help save memory.- Specified by:
deriveChildFilter
in interfaceVersionFilter
- Parameters:
context
- The dependency collection context, must not benull
.- Returns:
- The version filter for the target node or
null
if versions should not be filtered any more.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-