Class AndDependencyTraverser

java.lang.Object
org.eclipse.aether.util.graph.traverser.AndDependencyTraverser
All Implemented Interfaces:
DependencyTraverser

public final class AndDependencyTraverser extends Object implements DependencyTraverser
A dependency traverser that combines zero or more other traversers using a logical AND. The resulting traverser enables processing of child dependencies if and only if all constituent traversers request traversal.
  • Constructor Details

  • Method Details

    • newInstance

      Creates a new traverser from the specified traversers.
      Parameters:
      traverser1 - The first traverser to combine, may be null.
      traverser2 - The second traverser to combine, may be null.
      Returns:
      The combined traverser or null if both traversers were null.
    • traverseDependency

      public boolean traverseDependency(Dependency dependency)
      Description copied from interface: DependencyTraverser
      Decides whether the dependencies of the specified dependency should be traversed.
      Specified by:
      traverseDependency in interface DependencyTraverser
      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

      Description copied from interface: DependencyTraverser
      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.
      Specified by:
      deriveChildTraverser in interface DependencyTraverser
      Parameters:
      context - The dependency collection context, must not be null.
      Returns:
      The dependency traverser for the target node or null if dependencies should be unconditionally traversed in the sub graph.
    • equals

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

      public int hashCode()
      Overrides:
      hashCode in class Object