package edu.uci.ics.jung.algorithms.util; import org.apache.commons.collections15.Predicate; import edu.uci.ics.jung.graph.Graph; import edu.uci.ics.jung.graph.util.Context; import edu.uci.ics.jung.graph.util.Pair; /** * A <code>Predicate</code> that returns <code>true</code> if the input edge's * endpoints in the input graph are identical. (Thus, an edge which connects its * sole incident vertex to itself). * * @param <V> * @param <E> */ public class SelfLoopEdgePredicate<V, E> implements Predicate<Context<Graph<V, E>, E>> { @Override public boolean evaluate(Context<Graph<V, E>, E> context) { Pair<V> endpoints = context.graph.getEndpoints(context.element); return endpoints.getFirst().equals(endpoints.getSecond()); } }