Class ConflictResolver.ConflictItem

  • Enclosing class:
    ConflictResolver

    public static final class ConflictResolver.ConflictItem
    extends java.lang.Object
    A conflicting dependency.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void addOptional​(boolean optional)  
      (package private) void addScope​(java.lang.String scope)  
      Dependency getDependency()
      Gets the dependency involved in the conflict, short for getNode.getDependency().
      int getDepth()
      Gets the zero-based depth at which the conflicting node occurs in the graph.
      DependencyNode getNode()
      Gets the dependency node involved in the conflict.
      int getOptionalities()
      Gets the derived optionalities of the dependency.
      java.util.Collection<java.lang.String> getScopes()
      Gets the derived scopes of the dependency.
      boolean isSibling​(ConflictResolver.ConflictItem item)
      Determines whether the specified conflict item is a sibling of this item.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • depth

        int depth
      • scopes

        java.lang.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:
        Constant Field Values
      • OPTIONAL_TRUE

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

      • ConflictItem

        public ConflictItem​(DependencyNode parent,
                            DependencyNode node,
                            int depth,
                            int optionalities,
                            java.lang.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 Detail

      • 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 java.util.Collection<java.lang.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:
        ConflictResolver.ScopeDeriver
      • addScope

        void addScope​(java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object