Class OptionalDependencySelector

  • All Implemented Interfaces:
    DependencySelector

    public final class OptionalDependencySelector
    extends java.lang.Object
    implements DependencySelector
    A dependency selector that excludes optional dependencies which occur beyond level one of the dependency graph.
    See Also:
    Dependency.isOptional()
    • Field Detail

      • depth

        private final int depth
    • Constructor Detail

      • OptionalDependencySelector

        public OptionalDependencySelector()
        Creates a new selector to exclude optional transitive dependencies.
      • OptionalDependencySelector

        private OptionalDependencySelector​(int depth)
    • Method Detail

      • 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