org.eclipse.aether.collection

## Interface DependencyTraverser

- All Known Implementing Classes:
    FatArtifactTraverser, StaticDependencyTraverser

      public interface DependencyTraverser

  Decides whether the dependencies of a dependency node should be traversed as well. Note: For the sake of good performance during dependency collection, implementations should provide a semantic `equals()` method.
  See Also:
    `RepositorySystemSession.getDependencyTraverser()`, `RepositorySystem.collectDependencies(org.eclipse.aether.RepositorySystemSession, CollectRequest)`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DependencyTraverser` | `deriveChildTraverser(DependencyCollectionContext context)` Derives a dependency traverser that will be used to decide whether the transitive dependencies of the dependency given in the collection context shall be traversed.
    `boolean` | `traverseDependency(Dependency dependency)` Decides whether the dependencies of the specified dependency should be traversed.

- - ### Method Detail

    - #### traverseDependency

          boolean traverseDependency(Dependency dependency)

      Decides whether the dependencies of the specified dependency should be traversed.
      Parameters:
        `dependency` - The dependency to check, must not be `null`.
      Returns:
        `true` if the dependency graph builder should recurse into the specified dependency and process its dependencies, `false` otherwise.

    - #### deriveChildTraverser

          DependencyTraverser deriveChildTraverser(DependencyCollectionContext context)

      Derives a dependency traverser that will be used to decide whether the transitive dependencies of the dependency given in the collection context shall be traversed. When calculating the child traverser, implementors are strongly advised to simply return the current instance if nothing changed to help save memory.
      Parameters:
        `context` - The dependency collection context, must not be `null`.
      Returns:
        The dependency traverser for the target node, must not be `null`.

Copyright © 2010-2012 The Eclipse Foundation. All Rights Reserved.