All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dagger.internal.codegen.binding.AutoValue_BindingGraph_TopLevelBindingGraph Maven / Gradle / Ivy

package dagger.internal.codegen.binding;

import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.graph.ImmutableNetwork;
import dagger.spi.model.BindingGraph;
import dagger.spi.model.ComponentPath;
import java.lang.Class;
import java.lang.Override;
import java.util.Comparator;
import javax.annotation.Generated;

@Generated("com.google.auto.value.extension.memoized.processor.MemoizeExtension")
final class AutoValue_BindingGraph_TopLevelBindingGraph extends $AutoValue_BindingGraph_TopLevelBindingGraph {
  private volatile ImmutableSetMultimap, ? extends BindingGraph.Node> nodesByClass;

  private volatile ImmutableListMultimap bindingsByComponent;

  private volatile Comparator nodeOrder;

  private volatile ImmutableSet> stronglyConnectedNodes;

  AutoValue_BindingGraph_TopLevelBindingGraph(ImmutableNetwork network$,
      boolean isFullBindingGraph$) {
    super(network$, isFullBindingGraph$);
  }

  @Override
  public ImmutableSetMultimap, ? extends BindingGraph.Node> nodesByClass() {
    if (nodesByClass == null) {
      synchronized (this) {
        if (nodesByClass == null) {
          nodesByClass = super.nodesByClass();
          if (nodesByClass == null) {
            throw new NullPointerException("nodesByClass() cannot return null");
          }
        }
      }
    }
    return nodesByClass;
  }

  @Override
  ImmutableListMultimap bindingsByComponent() {
    if (bindingsByComponent == null) {
      synchronized (this) {
        if (bindingsByComponent == null) {
          bindingsByComponent = super.bindingsByComponent();
          if (bindingsByComponent == null) {
            throw new NullPointerException("bindingsByComponent() cannot return null");
          }
        }
      }
    }
    return bindingsByComponent;
  }

  @Override
  Comparator nodeOrder() {
    if (nodeOrder == null) {
      synchronized (this) {
        if (nodeOrder == null) {
          nodeOrder = super.nodeOrder();
          if (nodeOrder == null) {
            throw new NullPointerException("nodeOrder() cannot return null");
          }
        }
      }
    }
    return nodeOrder;
  }

  @Override
  public ImmutableSet> stronglyConnectedNodes() {
    if (stronglyConnectedNodes == null) {
      synchronized (this) {
        if (stronglyConnectedNodes == null) {
          stronglyConnectedNodes = super.stronglyConnectedNodes();
          if (stronglyConnectedNodes == null) {
            throw new NullPointerException("stronglyConnectedNodes() cannot return null");
          }
        }
      }
    }
    return stronglyConnectedNodes;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy