Class AndDependencySelector

  • All Implemented Interfaces:
    DependencySelector

    public final class AndDependencySelector
    extends java.lang.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.
    • Field Detail

      • hashCode

        private int hashCode
    • 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​(java.util.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.
      • AndDependencySelector

        private AndDependencySelector​(java.util.Set<DependencySelector> selectors)
    • 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​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object