Class ConflictResolver.State

  • Enclosing class:
    ConflictResolver

    final class ConflictResolver.State
    extends java.lang.Object
    • Field Detail

      • currentId

        java.lang.Object currentId
        The conflict id currently processed.
      • totalConflictItems

        int totalConflictItems
        Stats counter.
      • verbose

        final boolean verbose
        Flag whether we should keep losers in the graph to enable visualization/troubleshooting of conflicts.
      • resolvedIds

        final java.util.Map<java.lang.Object,​DependencyNode> resolvedIds
        A mapping from conflict id to winner node, helps to recognize nodes that have their effective scope&optionality set or are leftovers from previous removals.
      • potentialAncestorIds

        final java.util.Collection<java.lang.Object> potentialAncestorIds
        The set of conflict ids which could apply to ancestors of nodes with the current conflict id, used to avoid recursion early on. This is basically a superset of the key set of resolvedIds, the additional ids account for cyclic dependencies.
      • conflictIds

        final java.util.Map<?,​?> conflictIds
        The output from the conflict marker
      • infos

        final java.util.Map<java.util.List<DependencyNode>,​ConflictResolver.NodeInfo> infos
        The (conceptual) mapping from nodes to extra infos, technically keyed by the node's child list which better captures the identity of a node since we're basically concerned with effects towards children.
      • stack

        final java.util.Map<java.util.List<DependencyNode>,​java.lang.Object> stack
        The set of nodes on the DFS stack to detect cycles, technically keyed by the node's child list to match the dirty graph structure produced by the dependency collector for cycles.
      • parentNodes

        final java.util.List<DependencyNode> parentNodes
        The stack of parent nodes.
      • parentScopes

        final java.util.List<java.lang.String> parentScopes
        The stack of derived scopes for parent nodes.
      • parentOptionals

        final java.util.List<java.lang.Boolean> parentOptionals
        The stack of derived optional flags for parent nodes.
      • parentInfos

        final java.util.List<ConflictResolver.NodeInfo> parentInfos
        The stack of node infos for parent nodes, may contain null which is used to disable creating new conflict items when visiting their parent again (conflict items are meant to be unique by parent-node combo).
      • conflictCtx

        final ConflictResolver.ConflictContext conflictCtx
        The conflict context passed to the version/scope/optionality selectors, updated as we move along rather than recreated to avoid tmp objects.
      • scopeCtx

        final ConflictResolver.ScopeContext scopeCtx
        The scope context passed to the scope deriver, updated as we move along rather than recreated to avoid tmp objects.