Class ConflictResolver.ConflictItem

java.lang.Object
org.eclipse.aether.util.graph.transformer.ConflictResolver.ConflictItem
Enclosing class:
ConflictResolver

public static final class ConflictResolver.ConflictItem extends Object
A conflicting dependency.
  • Field Details

    • parent

      final List<DependencyNode> parent
    • artifact

      final Artifact artifact
    • node

      final DependencyNode node
    • depth

      int depth
    • scopes

      Object scopes
    • optionalities

      int optionalities
    • OPTIONAL_FALSE

      public static final int OPTIONAL_FALSE
      Bit flag indicating whether one or more paths consider the dependency non-optional.
      See Also:
    • OPTIONAL_TRUE

      public static final int OPTIONAL_TRUE
      Bit flag indicating whether one or more paths consider the dependency optional.
      See Also:
  • Constructor Details

    • ConflictItem

      ConflictItem(DependencyNode parent, DependencyNode node, String scope, boolean optional)
    • ConflictItem

      public ConflictItem(DependencyNode parent, DependencyNode node, int depth, int optionalities, String... scopes)
      Creates a new conflict item with the specified properties.
      Parameters:
      parent - The parent node of the conflicting dependency, may be null.
      node - The conflicting dependency, must not be null.
      depth - The zero-based depth of the conflicting dependency.
      optionalities - The optionalities the dependency was encountered with, encoded as a bit field consisting of OPTIONAL_TRUE and OPTIONAL_FALSE.
      scopes - The derived scopes of the conflicting dependency, must not be null.
  • Method Details

    • isSibling

      public boolean isSibling(ConflictResolver.ConflictItem item)
      Determines whether the specified conflict item is a sibling of this item.
      Parameters:
      item - The other conflict item, must not be null.
      Returns:
      true if the given item has the same parent as this item, false otherwise.
    • getNode

      public DependencyNode getNode()
      Gets the dependency node involved in the conflict.
      Returns:
      The involved dependency node, never null.
    • getDependency

      public Dependency getDependency()
      Gets the dependency involved in the conflict, short for getNode.getDependency().
      Returns:
      The involved dependency, never null.
    • getDepth

      public int getDepth()
      Gets the zero-based depth at which the conflicting node occurs in the graph. As such, the depth denotes the number of parent nodes. If actually multiple paths lead to the node, the return value denotes the smallest possible depth.
      Returns:
      The zero-based depth of the node in the graph.
    • getScopes

      public Collection<String> getScopes()
      Gets the derived scopes of the dependency. In general, the same dependency node could be reached via different paths and each path might result in a different derived scope.
      Returns:
      The (read-only) set of derived scopes of the dependency, never null.
      See Also:
    • addScope

      void addScope(String scope)
    • getOptionalities

      public int getOptionalities()
      Gets the derived optionalities of the dependency. In general, the same dependency node could be reached via different paths and each path might result in a different derived optionality.
      Returns:
      A bit field consisting of OPTIONAL_FALSE and/or OPTIONAL_TRUE indicating the derived optionalities the dependency was encountered with.
    • addOptional

      void addOptional(boolean optional)
    • toString

      public String toString()
      Overrides:
      toString in class Object