Coverage Summary for Class: ForwardingGraph (com.google.common.graph)

Class Class, % Method, % Line, %
ForwardingGraph 0% (0/1) 0% (0/16) 0% (0/16)


1 /* 2  * Copyright (C) 2016 The Guava Authors 3  * 4  * Licensed under the Apache License, Version 2.0 (the "License"); 5  * you may not use this file except in compliance with the License. 6  * You may obtain a copy of the License at 7  * 8  * http://www.apache.org/licenses/LICENSE-2.0 9  * 10  * Unless required by applicable law or agreed to in writing, software 11  * distributed under the License is distributed on an "AS IS" BASIS, 12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13  * See the License for the specific language governing permissions and 14  * limitations under the License. 15  */ 16  17 package com.google.common.graph; 18  19 import java.util.Set; 20  21 /** 22  * A class to allow {@link Graph} implementations to be backed by a {@link BaseGraph}. This is not 23  * currently planned to be released as a general-purpose forwarding class. 24  * 25  * @author James Sexton 26  */ 27 @ElementTypesAreNonnullByDefault 28 abstract class ForwardingGraph<N> extends AbstractGraph<N> { 29  30  abstract BaseGraph<N> delegate(); 31  32  @Override 33  public Set<N> nodes() { 34  return delegate().nodes(); 35  } 36  37  /** 38  * Defer to {@link AbstractGraph#edges()} (based on {@link #successors(Object)}) for full edges() 39  * implementation. 40  */ 41  @Override 42  protected long edgeCount() { 43  return delegate().edges().size(); 44  } 45  46  @Override 47  public boolean isDirected() { 48  return delegate().isDirected(); 49  } 50  51  @Override 52  public boolean allowsSelfLoops() { 53  return delegate().allowsSelfLoops(); 54  } 55  56  @Override 57  public ElementOrder<N> nodeOrder() { 58  return delegate().nodeOrder(); 59  } 60  61  @Override 62  public ElementOrder<N> incidentEdgeOrder() { 63  return delegate().incidentEdgeOrder(); 64  } 65  66  @Override 67  public Set<N> adjacentNodes(N node) { 68  return delegate().adjacentNodes(node); 69  } 70  71  @Override 72  public Set<N> predecessors(N node) { 73  return delegate().predecessors(node); 74  } 75  76  @Override 77  public Set<N> successors(N node) { 78  return delegate().successors(node); 79  } 80  81  @Override 82  public Set<EndpointPair<N>> incidentEdges(N node) { 83  return delegate().incidentEdges(node); 84  } 85  86  @Override 87  public int degree(N node) { 88  return delegate().degree(node); 89  } 90  91  @Override 92  public int inDegree(N node) { 93  return delegate().inDegree(node); 94  } 95  96  @Override 97  public int outDegree(N node) { 98  return delegate().outDegree(node); 99  } 100  101  @Override 102  public boolean hasEdgeConnecting(N nodeU, N nodeV) { 103  return delegate().hasEdgeConnecting(nodeU, nodeV); 104  } 105  106  @Override 107  public boolean hasEdgeConnecting(EndpointPair<N> endpoints) { 108  return delegate().hasEdgeConnecting(endpoints); 109  } 110 }