org.sonatype.aether.util.graph.selector
Class ScopeDependencySelector

java.lang.Object
  extended by org.sonatype.aether.util.graph.selector.ScopeDependencySelector
All Implemented Interfaces:
DependencySelector

public class ScopeDependencySelector
extends java.lang.Object
implements DependencySelector

A dependency selector that filters transitive dependencies based on their scope. Direct dependencies are always included regardless of their scope. Note: This filter does not assume any relationships between the scopes. In particular, the filter is not aware of scopes that logically include other scopes.

Author:
Benjamin Bentmann
See Also:
Dependency.getScope()

Constructor Summary
ScopeDependencySelector(java.util.Collection<java.lang.String> included, java.util.Collection<java.lang.String> excluded)
          Creates a new selector using the specified includes and excludes.
ScopeDependencySelector(java.lang.String... excluded)
          Creates a new selector using the specified excludes.
 
Method Summary
 DependencySelector deriveChildSelector(DependencyCollectionContext context)
          Derives a dependency selector for the specified collection context.
 boolean equals(java.lang.Object obj)
           
 int hashCode()
           
 boolean selectDependency(Dependency dependency)
          Applies exclusions to the specified dependency.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ScopeDependencySelector

public ScopeDependencySelector(java.util.Collection<java.lang.String> included,
                               java.util.Collection<java.lang.String> excluded)
Creates a new selector using the specified includes and excludes.

Parameters:
included - The set of scopes to include, may be null or empty to include any scope.
excluded - The set of scopes to exclude, may be null or empty to exclude no scope.

ScopeDependencySelector

public ScopeDependencySelector(java.lang.String... excluded)
Creates a new selector using the specified excludes.

Parameters:
excluded - The set of scopes to exclude, may be null or empty to exclude no scope.
Method Detail

selectDependency

public boolean selectDependency(Dependency dependency)
Description copied from interface: DependencySelector
Applies exclusions to the specified dependency.

Specified by:
selectDependency in interface DependencySelector
Parameters:
dependency - The dependency to filter, must not be null.
Returns:
false if the dependency should be excluded from the children of the current node, true otherwise.

deriveChildSelector

public DependencySelector deriveChildSelector(DependencyCollectionContext context)
Description copied from interface: DependencySelector
Derives a dependency selector for the specified collection context. When calculating the child selector, implementors are strongly advised to simply return the current instance if nothing changed to help save memory.

Specified by:
deriveChildSelector in interface DependencySelector
Parameters:
context - The dependency collection context, must not be null.
Returns:
The dependency filter for the target node, must not be null.

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


Copyright © 2010 Sonatype, Inc.. All Rights Reserved.