/// <summary> /// Returns all Edges that connect the two nodes (which are assumed to be different). /// </summary> /// <param name="node0"></param> /// <param name="node1"></param> /// <returns></returns> public static IList getEdgesBetween(Node node0, Node node1) { IList edges0 = DirectedEdge.ToEdges(node0.OutEdges.Edges); ISet commonEdges = new HashedSet(edges0); IList edges1 = DirectedEdge.ToEdges(node1.OutEdges.Edges); commonEdges.RetainAll(edges1); return new ArrayList(commonEdges); }
/// <summary> /// Returns all Edges that connect the two nodes (which are assumed to be different). /// </summary> /// <param name="node0"></param> /// <param name="node1"></param> /// <returns></returns> public static IList getEdgesBetween(Node node0, Node node1) { IList edges0 = DirectedEdge.ToEdges(node0.OutEdges.Edges); ISet commonEdges = new HashedSet(edges0); IList edges1 = DirectedEdge.ToEdges(node1.OutEdges.Edges); commonEdges.RetainAll(edges1); return(new ArrayList(commonEdges)); }
/// <summary> /// Returns the list of possible values. Deposits each non-null value into /// result. Creates result if it is null. Remember to clear result if you are /// not appending to existing collection. /// </summary> /// /// <param name="result"></param> /// <returns>result</returns> public ICollection GetAvailableValues(ICollection result) { if (staleAvailableValues) { // collect all the current values // retain them in the availableValues ILOG.J2CsMapping.Collections.ISet temp = new HashedSet(); for (int i = 0; i < length - 1; ++i) { if (values[i] != null) { ILOG.J2CsMapping.Collections.Generics.Collections.Add(temp, values[i]); } } availableValues.RetainAll(temp); staleAvailableValues = false; } if (result == null) { result = new ArrayList(availableValues.Count); } ILOG.J2CsMapping.Collections.Generics.Collections.AddAll(availableValues, result); return(result); }