org.eclipse.aether.util.graph.selector

## Class AndDependencySelector

- java.lang.Object
- - org.eclipse.aether.util.graph.selector.AndDependencySelector

- All Implemented Interfaces:
    DependencySelector

      public final class AndDependencySelector
      extends Object
      implements DependencySelector

  A dependency selector that combines zero or more other selectors using a logical `AND`. The resulting selector selects a given dependency if and only if all constituent selectors do so.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AndDependencySelector(Collection<? extends DependencySelector> selectors)` Creates a new selector from the specified selectors.
    `AndDependencySelector(DependencySelector... selectors)` Creates a new selector from the specified selectors.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DependencySelector` | `deriveChildSelector(DependencyCollectionContext context)` Derives a dependency selector for the specified collection context.
    `boolean` | `equals(Object obj)`
    `int` | `hashCode()`
    `static DependencySelector` | `newInstance(DependencySelector selector1, DependencySelector selector2)` Creates a new selector from the specified selectors.
    `boolean` | `selectDependency(Dependency dependency)` Decides whether the specified dependency should be included in the dependency graph.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AndDependencySelector

          public AndDependencySelector(DependencySelector... selectors)

      Creates a new selector from the specified selectors. Prefer `newInstance(DependencySelector, DependencySelector)` if any of the input selectors might be `null`.
      Parameters:
        `selectors` - The selectors to combine, may be `null` but must not contain `null` elements.

    - #### AndDependencySelector

          public AndDependencySelector(Collection<? extends DependencySelector> selectors)

      Creates a new selector from the specified selectors.
      Parameters:
        `selectors` - The selectors to combine, may be `null` but must not contain `null` elements.

  - ### Method Detail

    - #### newInstance

          public static DependencySelector newInstance(DependencySelector selector1,
                                       DependencySelector selector2)

      Creates a new selector from the specified selectors.
      Parameters:
        `selector1` - The first selector to combine, may be `null`.
        `selector2` - The second selector to combine, may be `null`.
      Returns:
        The combined selector or `null` if both selectors were `null`.

    - #### selectDependency

          public boolean selectDependency(Dependency dependency)

      Description copied from interface: `DependencySelector`
      Decides whether the specified dependency should be included in the dependency graph.
      Specified by:
        `selectDependency` in interface `DependencySelector`
      Parameters:
        `dependency` - The dependency to check, 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 selector for the target node or `null` if dependencies should be unconditionally included in the sub graph.

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

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