Class AndDependencyFilter

  • All Implemented Interfaces:
    DependencyFilter

    public final class AndDependencyFilter
    extends java.lang.Object
    implements DependencyFilter
    A dependency filter that combines zero or more other filters using a logical AND. The resulting filter accepts a given dependency node if and only if all constituent filters accept it.
    • Constructor Detail

      • AndDependencyFilter

        public AndDependencyFilter​(DependencyFilter... filters)
        Creates a new filter from the specified filters. Prefer newInstance(DependencyFilter, DependencyFilter) if any of the input filters might be null.
        Parameters:
        filters - The filters to combine, may be null but must not contain null elements.
      • AndDependencyFilter

        public AndDependencyFilter​(java.util.Collection<DependencyFilter> filters)
        Creates a new filter from the specified filters.
        Parameters:
        filters - The filters to combine, may be null but must not contain null elements.
    • Method Detail

      • newInstance

        public static DependencyFilter newInstance​(DependencyFilter filter1,
                                                   DependencyFilter filter2)
        Creates a new filter from the specified filters.
        Parameters:
        filter1 - The first filter to combine, may be null.
        filter2 - The second filter to combine, may be null.
        Returns:
        The combined filter or null if both filter were null.
      • accept

        public boolean accept​(DependencyNode node,
                              java.util.List<DependencyNode> parents)
        Description copied from interface: DependencyFilter
        Indicates whether the specified dependency node shall be included or excluded.
        Specified by:
        accept in interface DependencyFilter
        Parameters:
        node - The dependency node to filter, must not be null.
        parents - The (read-only) chain of parent nodes that leads to the node to be filtered, must not be null. Iterating this (possibly empty) list walks up the dependency graph towards the root node, i.e. the immediate parent node (if any) is the first node in the list. The size of the list also denotes the zero-based depth of the filtered node.
        Returns:
        true to include the dependency node, false to exclude it.
      • 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