org.apache.maven.mae.depgraph.impl
Class FlexibleScopeDependencySelector

java.lang.Object
  extended by org.apache.maven.mae.depgraph.impl.FlexibleScopeDependencySelector
All Implemented Interfaces:
org.sonatype.aether.collection.DependencySelector

public class FlexibleScopeDependencySelector
extends Object
implements org.sonatype.aether.collection.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
FlexibleScopeDependencySelector()
           
FlexibleScopeDependencySelector(Collection<String> included, Collection<String> excluded)
          Creates a new selector using the specified includes and excludes.
FlexibleScopeDependencySelector(String... excluded)
          Creates a new selector using the specified excludes.
 
Method Summary
 org.sonatype.aether.collection.DependencySelector deriveChildSelector(org.sonatype.aether.collection.DependencyCollectionContext context)
           
 boolean equals(Object obj)
           
 FlexibleScopeDependencySelector excludeScope(String scope)
           
 int hashCode()
           
 FlexibleScopeDependencySelector includeScope(String scope)
           
 boolean selectDependency(org.sonatype.aether.graph.Dependency dependency)
           
 FlexibleScopeDependencySelector setTransitive(boolean transitive)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FlexibleScopeDependencySelector

public FlexibleScopeDependencySelector()

FlexibleScopeDependencySelector

public FlexibleScopeDependencySelector(Collection<String> included,
                                       Collection<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.

FlexibleScopeDependencySelector

public FlexibleScopeDependencySelector(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(org.sonatype.aether.graph.Dependency dependency)
Specified by:
selectDependency in interface org.sonatype.aether.collection.DependencySelector

deriveChildSelector

public org.sonatype.aether.collection.DependencySelector deriveChildSelector(org.sonatype.aether.collection.DependencyCollectionContext context)
Specified by:
deriveChildSelector in interface org.sonatype.aether.collection.DependencySelector

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

includeScope

public FlexibleScopeDependencySelector includeScope(String scope)

excludeScope

public FlexibleScopeDependencySelector excludeScope(String scope)

setTransitive

public FlexibleScopeDependencySelector setTransitive(boolean transitive)


Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.