[Git][java-team/dirgra][upstream] New upstream version 0.6
Jérôme Charaoui (@lavamind)
gitlab at salsa.debian.org
Wed Aug 26 04:01:58 BST 2026
Jérôme Charaoui pushed to branch upstream at Debian Java Maintainers / dirgra
Commits:
23839d2b by Jérôme Charaoui at 2026-08-25T15:47:40-04:00
New upstream version 0.6
- - - - -
19 changed files:
- README.md
- pom.xml
- spec/data_iterator_spec.rb
- spec/directed_graph_spec.rb
- spec/edge_spec.rb
- spec/edge_type_iterator_spec.rb
- spec/helpers/edge_helpers.rb
- + spec/helpers/load_dirgra.rb
- spec/helpers/vertex_helpers.rb
- spec/helpers/vertex_id_helper.rb
- spec/vertex_spec.rb
- src/org/jruby/dirgra/DataIterable.java
- src/org/jruby/dirgra/DataIterator.java
- src/org/jruby/dirgra/DirectedGraph.java
- src/org/jruby/dirgra/Edge.java
- src/org/jruby/dirgra/EdgeTypeIterable.java
- src/org/jruby/dirgra/EdgeTypeIterator.java
- src/org/jruby/dirgra/ExplicitVertexID.java
- src/org/jruby/dirgra/Vertex.java
Changes:
=====================================
README.md
=====================================
@@ -1,14 +1,14 @@
-= Simple Directed Graph Implementation
+# Dirgra: Simple Directed Graph
-= Building
+## Building
```text
% mvn package
```
-= Testing
+## Testing
```text
-% jruby -Itarget rspec
+% jruby -S rspec
```
=====================================
pom.xml
=====================================
@@ -1,11 +1,10 @@
<?xml version="1.0" ?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jruby</groupId>
<artifactId>dirgra</artifactId>
<packaging>jar</packaging>
- <version>0.4-SNAPSHOT</version>
+ <version>0.6</version>
<name>Dirgra</name>
<url>https://github.com/jruby/dirgra</url>
<description>Simple Directed Graph</description>
@@ -18,8 +17,9 @@
<scm>
<connection>scm:git:https://github.com/jruby/dirgra.git</connection>
- <developerConnection>scm:git:https://github.com/jruby/dirgra.git</developerConnection>
- <url>http://github.com/jruby/dirgra</url>
+ <developerConnection>scm:git:git at github.com:jruby/dirgra.git</developerConnection>
+ <url>https://github.com/jruby/dirgra</url>
+ <tag>dirgra-0.6</tag>
</scm>
<licenses>
=====================================
spec/data_iterator_spec.rb
=====================================
@@ -1,9 +1,9 @@
-require 'dirgra-0.3.jar'
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.DataIterator'
-import 'java.util.NoSuchElementException'
+require_relative 'helpers/vertex_id_helper'
+
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.DataIterator'
+java_import 'java.util.NoSuchElementException'
-require 'vertex_id_helper'
describe "DataIterator" do
let(:graph) { DirectedGraph.new }
@@ -135,12 +135,12 @@ describe "DataIterator" do
end
it "throws NoSuchElementException for source data" do
- iterator = DataIterator.new(@empty_graph.edges.to_array, 0, "foo", true, false)
+ iterator = DataIterator.new(@empty_graph.edges.to_a, 0, "foo", true, false)
expect { iterator.next }.to raise_error NoSuchElementException
end
it "throws NoSuchElementException for destination data" do
- iterator = DataIterator.new(@empty_graph.edges.to_array, 0, "foo", false, false)
+ iterator = DataIterator.new(@empty_graph.edges.to_a, 0, "foo", false, false)
expect { iterator.next }.to raise_error NoSuchElementException
end
end
@@ -149,7 +149,7 @@ describe "DataIterator" do
describe "remove" do
it "throws UnsupportedOperationException exception" do
- iterator = DataIterator.new(graph.edges.to_array, 0, "foo", true, false)
+ iterator = DataIterator.new(graph.edges.to_a, 0, "foo", true, false)
expect { iterator.remove }.to raise_error Java::JavaLang::UnsupportedOperationException
end
end
=====================================
spec/directed_graph_spec.rb
=====================================
@@ -1,7 +1,6 @@
-require 'dirgra-0.3.jar'
-import 'org.jruby.dirgra.DirectedGraph'
+require_relative 'helpers/vertex_id_helper'
-require 'vertex_id_helper'
+java_import 'org.jruby.dirgra.DirectedGraph'
# This is spec for Directed Graph Library
=====================================
spec/edge_spec.rb
=====================================
@@ -1,10 +1,8 @@
-require 'dirgra-0.3.jar'
+require_relative 'helpers/vertex_id_helper'
-import 'org.jruby.dirgra.Edge'
-import 'org.jruby.dirgra.Vertex'
-import 'org.jruby.dirgra.DirectedGraph'
-
-require 'vertex_id_helper'
+java_import 'org.jruby.dirgra.Edge'
+java_import 'org.jruby.dirgra.Vertex'
+java_import 'org.jruby.dirgra.DirectedGraph'
describe "Edge" do
=====================================
spec/edge_type_iterator_spec.rb
=====================================
@@ -1,13 +1,9 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + "/helpers"
+require_relative 'helpers/vertex_id_helper'
+require_relative 'helpers/edge_helpers'
-require 'dirgra-0.3.jar'
-
-require 'edge_helpers'
-require 'vertex_id_helper'
-
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.EdgeTypeIterator'
-import 'java.util.NoSuchElementException'
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.EdgeTypeIterator'
+java_import 'java.util.NoSuchElementException'
describe "EdgeTypeIterable" do
@@ -125,7 +121,7 @@ describe "EdgeTypeIterable" do
context "when the iterator does not have next edge" do
it "throws NoSuchElementException" do
empty_graph = DirectedGraph.new
- iterator = EdgeTypeIterator.new(empty_graph.edges().to_array(), 0, "foo", false)
+ iterator = EdgeTypeIterator.new(empty_graph.edges.to_a, 0, "foo", false)
expect { iterator.next }.to raise_error NoSuchElementException
end
end
=====================================
spec/helpers/edge_helpers.rb
=====================================
@@ -1,8 +1,6 @@
require 'java'
-require 'dirgra-0.3.jar'
-
-import 'org.jruby.dirgra.Edge'
+java_import 'org.jruby.dirgra.Edge'
class EdgeType
=====================================
spec/helpers/load_dirgra.rb
=====================================
@@ -0,0 +1,11 @@
+files = Dir["#{__dir__}/../../target/*.jar"].find_all do |file|
+ file !~ /source|javadoc/
+end
+
+if files.length == 0
+ exit "You have no dirgra releases in target. Please run `mvn package`"
+elsif files.length != 1
+ exit "You have multiple dirgra releases in target. Please clean up your workspace"
+end
+
+require_relative files[0]
=====================================
spec/helpers/vertex_helpers.rb
=====================================
@@ -1,4 +1,6 @@
-import 'org.jruby.dirgra.Vertex'
+require_relative 'load_dirgra'
+
+java_import 'org.jruby.dirgra.Vertex'
class DegreeMatcher
=====================================
spec/helpers/vertex_id_helper.rb
=====================================
@@ -1,3 +1,4 @@
+require_relative 'load_dirgra'
class VertexID
include org.jruby.dirgra.ExplicitVertexID
@@ -26,5 +27,5 @@ def remove_edge(vertex1, vertex2)
end
def edges
- [graph.edges.to_array, @edge_count]
+ [graph.edges.to_a, @edge_count]
end
=====================================
spec/vertex_spec.rb
=====================================
@@ -1,11 +1,8 @@
-$LOAD_PATH.unshift File.dirname(__FILE__) + "/helpers"
+require_relative 'helpers/vertex_helpers'
+require_relative 'helpers/edge_helpers'
-require 'dirgra-0.3.jar'
-require 'vertex_helpers'
-require 'edge_helpers'
-
-import 'org.jruby.dirgra.DirectedGraph'
-import 'org.jruby.dirgra.Vertex'
+java_import 'org.jruby.dirgra.DirectedGraph'
+java_import 'org.jruby.dirgra.Vertex'
describe "Vertex" do
=====================================
src/org/jruby/dirgra/DataIterable.java
=====================================
@@ -4,14 +4,14 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
-public class DataIterable<T extends ExplicitVertexID> implements Iterable<T> {
- private Edge<T>[] edges;
+public class DataIterable<T extends ExplicitVertexID, U> implements Iterable<T> {
+ private Edge<T, U>[] edges;
private int edgesLength;
private Object type;
private boolean negate;
private boolean source;
- public DataIterable(Edge<T>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
+ public DataIterable(Edge<T, U>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
this.edges = edges;
this.edgesLength = edgesLength;
this.type = type;
@@ -21,6 +21,6 @@ public class DataIterable<T extends ExplicitVertexID> implements Iterable<T> {
@Override
public Iterator<T> iterator() {
- return new DataIterator<T>(edges, edgesLength, type, source, negate);
+ return new DataIterator<T, U>(edges, edgesLength, type, source, negate);
}
}
=====================================
src/org/jruby/dirgra/DataIterator.java
=====================================
@@ -3,8 +3,8 @@ package org.jruby.dirgra;
import java.util.Iterator;
import java.util.NoSuchElementException;
-public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
- private Edge<T>[] edges;
+public class DataIterator<T extends ExplicitVertexID, U> implements Iterator<T> {
+ private Edge<T, U>[] edges;
private int edgesLength;
private int edgeIteratorIndex;
private Object type;
@@ -12,7 +12,7 @@ public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
private boolean source;
private boolean negate;
- public DataIterator(Edge<T>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
+ public DataIterator(Edge<T, U>[] edges, int edgesLength, Object type, boolean source, boolean negate) {
this.edges = edges;
this.edgesLength = edgesLength;
this.edgeIteratorIndex = 0;
@@ -52,7 +52,7 @@ public class DataIterator<T extends ExplicitVertexID> implements Iterator<T> {
@Override
public T next() {
if (hasNext()) {
- Edge<T> tmp = nextEdge;
+ Edge<T, U> tmp = nextEdge;
nextEdge = null;
return source ? tmp.getSource().getData() : tmp.getDestination().getData();
}
=====================================
src/org/jruby/dirgra/DirectedGraph.java
=====================================
@@ -7,28 +7,28 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-public class DirectedGraph<T extends ExplicitVertexID> {
- private static int INITIAL_SIZE = 4;
+public class DirectedGraph<T extends ExplicitVertexID, U> {
+ private static final int INITIAL_SIZE = 4;
- private Map<T, Vertex<T>> vertices = new HashMap<T, Vertex<T>>();
- private Edge<T>[] edges = new Edge[INITIAL_SIZE];
+ private final Map<T, Vertex<T, U>> vertices = new HashMap<>();
+ private Edge<T, U>[] edges = new Edge[INITIAL_SIZE];
private int edgeLength = 0;
private ArrayList inOrderVerticeData = new ArrayList();
int vertexIDCounter = 0;
- protected Edge<T>[] growEdges(Edge<T>[] array, int realLength) {
+ protected Edge<T, U>[] growEdges(Edge<T, U>[] array, int realLength) {
int newLength = array.length == 0 ? 2 : array.length * 2;
- Edge<T>[] newEdges = new Edge[newLength];
+ Edge<T, U>[] newEdges = new Edge[newLength];
System.arraycopy(array, 0, newEdges, 0, realLength);
return newEdges;
}
- protected Edge<T>[] getEdges() {
+ protected Edge<T, U>[] getEdges() {
return edges;
}
- protected Edge<T> addEdge(Edge<T> newEdge) {
+ protected Edge<T, U> addEdge(Edge<T, U> newEdge) {
for (int i = 0; i < edgeLength; i++) {
// Edge already added. No repeated edge support.
if (edges[i].equals(newEdge)) return newEdge;
@@ -40,7 +40,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
return newEdge;
}
- public void removeEdge(Edge<T> edge) {
+ public void removeEdge(Edge<T, U> edge) {
int splitPoint = -1;
for (int i = 0; i < edgeLength; i++) {
@@ -51,7 +51,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
}
if (splitPoint != -1) {
- Edge<T> edgeToRemove = edges[splitPoint];
+ Edge<T, U> edgeToRemove = edges[splitPoint];
if (splitPoint < edgeLength - 1) { // somewhere between index 0 and edgeLength-2
System.arraycopy(edges, splitPoint + 1, edges, splitPoint, edgeLength - 1 - splitPoint);
}
@@ -64,16 +64,16 @@ public class DirectedGraph<T extends ExplicitVertexID> {
}
}
- public Collection<Vertex<T>> vertices() {
+ public Collection<Vertex<T, U>> vertices() {
return vertices.values();
}
- public Collection<Edge<T>> edges() {
+ public Collection<Edge<T, U>> edges() {
return Arrays.asList(Arrays.copyOf(edges, edgeLength));
}
- public Iterable<Edge<T>> edgesOfType(Object type) {
- return new EdgeTypeIterable<T>(edges, edgeLength, type);
+ public Iterable<Edge<T, U>> edgesOfType(U type) {
+ return new EdgeTypeIterable<T, U>(edges, edgeLength, type);
}
public Collection<T> allData() {
@@ -87,7 +87,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
return inOrderVerticeData;
}
- public void addEdge(T source, T destination, Object type) {
+ public void addEdge(T source, T destination, U type) {
findOrCreateVertexFor(source).addEdgeTo(destination, type);
}
@@ -102,7 +102,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
}
}
- public Vertex<T> findVertexFor(T data) {
+ public Vertex<T, U> findVertexFor(T data) {
return vertices.get(data);
}
@@ -112,7 +112,7 @@ public class DirectedGraph<T extends ExplicitVertexID> {
* @param data to find a vertex for
* @return vertex for given data. If vertex is not present it creates vertex and returns it.
*/
- public Vertex<T> findOrCreateVertexFor(T data) {
+ public Vertex<T, U> findOrCreateVertexFor(T data) {
Vertex vertex = vertices.get(data);
if (vertex != null) return vertex;
@@ -145,9 +145,9 @@ public class DirectedGraph<T extends ExplicitVertexID> {
public String toString() {
StringBuilder buf = new StringBuilder();
- ArrayList<Vertex<T>> verts = new ArrayList<Vertex<T>>(vertices.values());
+ ArrayList<Vertex<T, U>> verts = new ArrayList<>(vertices.values());
Collections.sort(verts);
- for (Vertex<T> vertex: verts) {
+ for (Vertex<T, U> vertex: verts) {
buf.append(vertex);
}
=====================================
src/org/jruby/dirgra/Edge.java
=====================================
@@ -1,25 +1,25 @@
package org.jruby.dirgra;
-public class Edge<T extends ExplicitVertexID> {
- private Vertex<T> source;
- private Vertex<T> destination;
- private Object type;
+public class Edge<T extends ExplicitVertexID, U> {
+ private Vertex<T, U> source;
+ private Vertex<T, U> destination;
+ private U type;
- public Edge(Vertex<T> source, Vertex<T> destination, Object type) {
+ public Edge(Vertex<T, U> source, Vertex<T, U> destination, U type) {
this.source = source;
this.destination = destination;
this.type = type;
}
- public Vertex<T> getDestination() {
+ public Vertex<T, U> getDestination() {
return destination;
}
- public Vertex<T> getSource() {
+ public Vertex<T, U> getSource() {
return source;
}
- public Object getType() {
+ public U getType() {
return type;
}
=====================================
src/org/jruby/dirgra/EdgeTypeIterable.java
=====================================
@@ -4,18 +4,18 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
-public class EdgeTypeIterable<T extends ExplicitVertexID> implements Iterable<Edge<T>> {
- private Edge<T>[] edges;
+public class EdgeTypeIterable<T extends ExplicitVertexID, U> implements Iterable<Edge<T, U>> {
+ private Edge<T, U>[] edges;
int edgesLength;
private Object type;
private boolean negate;
- public EdgeTypeIterable(Edge<T>[] edges, int edgesLength, Object type) {
+ public EdgeTypeIterable(Edge<T, U>[] edges, int edgesLength, U type) {
this(edges, edgesLength, type, false);
}
- public EdgeTypeIterable(Edge<T>[] edges, int edgesLength, Object type, boolean negate) {
+ public EdgeTypeIterable(Edge<T, U>[] edges, int edgesLength, U type, boolean negate) {
this.edges = edges;
this.edgesLength = edgesLength;
this.type = type;
@@ -23,7 +23,7 @@ public class EdgeTypeIterable<T extends ExplicitVertexID> implements Iterable<Ed
}
@Override
- public Iterator<Edge<T>> iterator() {
- return new EdgeTypeIterator<T>(edges, edgesLength, type, negate);
+ public Iterator<Edge<T, U>> iterator() {
+ return new EdgeTypeIterator<T, U>(edges, edgesLength, type, negate);
}
}
=====================================
src/org/jruby/dirgra/EdgeTypeIterator.java
=====================================
@@ -5,15 +5,15 @@ import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.Set;
-public class EdgeTypeIterator<T extends ExplicitVertexID> implements Iterator<Edge<T>> {
- private Edge<T>[] edges;
+public class EdgeTypeIterator<T extends ExplicitVertexID, U> implements Iterator<Edge<T, U>> {
+ private Edge<T, U>[] edges;
private int edgesLength;
private int edgeIteratorIndex = 0;
private Object type;
private Edge nextEdge = null;
private boolean negate;
- public EdgeTypeIterator(Edge<T>[] edges, int edgesLength, Object type, boolean negate) {
+ public EdgeTypeIterator(Edge<T, U>[] edges, int edgesLength, Object type, boolean negate) {
this.edges = edges;
this.edgesLength = edgesLength;
this.type = type;
@@ -48,9 +48,9 @@ public class EdgeTypeIterator<T extends ExplicitVertexID> implements Iterator<Ed
}
@Override
- public Edge<T> next() {
+ public Edge<T, U> next() {
if (hasNext()) {
- Edge<T> tmp = nextEdge;
+ Edge<T, U> tmp = nextEdge;
nextEdge = null;
return tmp;
}
=====================================
src/org/jruby/dirgra/ExplicitVertexID.java
=====================================
@@ -1,5 +1,5 @@
package org.jruby.dirgra;
public interface ExplicitVertexID {
- public int getID();
+ int getID();
}
=====================================
src/org/jruby/dirgra/Vertex.java
=====================================
@@ -11,13 +11,13 @@ import java.util.List;
/**
*
*/
-public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>> {
+public class Vertex<T extends ExplicitVertexID, U> implements Comparable<Vertex<T, U>> {
private static final Edge[] EMPTY_EDGE_LIST = new Edge[0];
private DirectedGraph graph;
private T data;
- private Edge<T>[] incoming = EMPTY_EDGE_LIST;
+ private Edge<T, U>[] incoming = EMPTY_EDGE_LIST;
private int incomingLength = 0;
- private Edge<T>[] outgoing = EMPTY_EDGE_LIST;
+ private Edge<T, U>[] outgoing = EMPTY_EDGE_LIST;
private int outgoingLength = 0;
int id;
@@ -31,8 +31,8 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
addEdgeTo(destination, null);
}
- public void addEdgeTo(Vertex destination, Object type) {
- Edge<T> newEdge = graph.addEdge(new Edge<T>(this, destination, type));
+ public void addEdgeTo(Vertex destination, U type) {
+ Edge<T, U> newEdge = graph.addEdge(new Edge<T, U>(this, destination, type));
addOutgoingEdge(newEdge);
destination.addIncomingEdge(newEdge);
}
@@ -41,7 +41,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
addEdgeTo(destination, null);
}
- public void addEdgeTo(T destination, Object type) {
+ public void addEdgeTo(T destination, U type) {
Vertex destinationVertex = graph.findOrCreateVertexFor(destination);
addEdgeTo(destinationVertex, type);
@@ -59,7 +59,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
return false;
}
- protected void addOutgoingEdge(Edge<T> newEdge) {
+ protected void addOutgoingEdge(Edge<T, U> newEdge) {
for (int i = 0; i < outgoingLength; i++) {
// Edge already added. No repeated edge support.
if (outgoing[i].equals(newEdge)) return;
@@ -70,7 +70,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
outgoing[outgoingLength++] = newEdge;
}
- protected void addIncomingEdge(Edge<T> newEdge) {
+ protected void addIncomingEdge(Edge<T, U> newEdge) {
for (int i = 0; i < incomingLength; i++) {
// Edge already added. No repeated edge support.
if (incoming[i] == newEdge) return;
@@ -81,7 +81,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
incoming[incomingLength++] = newEdge;
}
- protected void removeOutgoingEdge(Edge<T> edge) {
+ protected void removeOutgoingEdge(Edge<T, U> edge) {
int splitIndex = -1; // which index we found the edge at
for (int i = 0; i < outgoingLength; i++) {
@@ -100,7 +100,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
outgoingLength--; // list is one smaller
}
- protected void removeIncomingEdge(Edge<T> edge) {
+ protected void removeIncomingEdge(Edge<T, U> edge) {
int splitIndex = -1; // which index we found the edge at
for (int i = 0; i < incomingLength; i++) {
@@ -148,95 +148,95 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
return outgoingLength;
}
- public Iterable<Edge<T>> getIncomingEdgesOfType(Object type) {
- return new EdgeTypeIterable<T>(incoming, incomingLength, type);
+ public Iterable<Edge<T, U>> getIncomingEdgesOfType(U type) {
+ return new EdgeTypeIterable<>(incoming, incomingLength, type);
}
- public Iterable<Edge<T>> getIncomingEdgesNotOfType(Object type) {
- return new EdgeTypeIterable<T>(incoming, incomingLength, type, true);
+ public Iterable<Edge<T, U>> getIncomingEdgesNotOfType(U type) {
+ return new EdgeTypeIterable<>(incoming, incomingLength, type, true);
}
- public Iterable<Edge<T>> getOutgoingEdgesOfType(Object type) {
- return new EdgeTypeIterable<T>(outgoing, outgoingLength, type);
+ public Iterable<Edge<T, U>> getOutgoingEdgesOfType(U type) {
+ return new EdgeTypeIterable<>(outgoing, outgoingLength, type);
}
public T getIncomingSourceData() {
- Edge<T> edge = getFirstEdge(getIncomingEdges().iterator());
+ Edge<T, U> edge = getFirstEdge(getIncomingEdges().iterator());
return edge == null ? null : edge.getSource().getData();
}
- public T getIncomingSourceDataOfType(Object type) {
- Edge<T> edge = getFirstEdge(getIncomingEdgesOfType(type).iterator());
+ public T getIncomingSourceDataOfType(U type) {
+ Edge<T, U> edge = getFirstEdge(getIncomingEdgesOfType(type).iterator());
return edge == null ? null : edge.getSource().getData();
}
public Iterable<T> getIncomingSourcesData() {
- return new DataIterable<T>(incoming, incomingLength, null, true, true);
+ return new DataIterable<T, U>(incoming, incomingLength, null, true, true);
}
- public Iterable<T> getIncomingSourcesDataOfType(Object type) {
- return new DataIterable<T>(incoming, incomingLength, type, true, false);
+ public Iterable<T> getIncomingSourcesDataOfType(U type) {
+ return new DataIterable<>(incoming, incomingLength, type, true, false);
}
- public Iterable<T> getIncomingSourcesDataNotOfType(Object type) {
- return new DataIterable<T>(incoming, incomingLength, type, true, true);
+ public Iterable<T> getIncomingSourcesDataNotOfType(U type) {
+ return new DataIterable<>(incoming, incomingLength, type, true, true);
}
- public Iterable<Edge<T>> getOutgoingEdgesNotOfType(Object type) {
- return new EdgeTypeIterable<T>(outgoing, outgoingLength, type, true);
+ public Iterable<Edge<T, U>> getOutgoingEdgesNotOfType(U type) {
+ return new EdgeTypeIterable<T, U>(outgoing, outgoingLength, type, true);
}
public Iterable<T> getOutgoingDestinationsData() {
- return new DataIterable<T>(outgoing, outgoingLength, null, false, true);
+ return new DataIterable<T, U>(outgoing, outgoingLength, null, false, true);
}
public Iterable<T> getOutgoingDestinationsDataOfType(Object type) {
- return new DataIterable<T>(outgoing, outgoingLength, type, false, false);
+ return new DataIterable<T, U>(outgoing, outgoingLength, type, false, false);
}
public Iterable<T> getOutgoingDestinationsDataNotOfType(Object type) {
- return new DataIterable<T>(outgoing, outgoingLength, type, false, true);
+ return new DataIterable<T, U>(outgoing, outgoingLength, type, false, true);
}
public T getOutgoingDestinationData() {
- Edge<T> edge = getFirstEdge(getOutgoingEdges().iterator());
+ Edge<T, U> edge = getFirstEdge(getOutgoingEdges().iterator());
return edge == null ? null : edge.getDestination().getData();
}
- public T getOutgoingDestinationDataOfType(Object type) {
- Edge<T> edge = getFirstEdge(getOutgoingEdgesOfType(type).iterator());
+ public T getOutgoingDestinationDataOfType(U type) {
+ Edge<T, U> edge = getFirstEdge(getOutgoingEdgesOfType(type).iterator());
return edge == null ? null : edge.getDestination().getData();
}
- private Edge<T> getFirstEdge(Iterator<Edge<T>> iterator) {
+ private Edge<T, U> getFirstEdge(Iterator<Edge<T, U>> iterator) {
return iterator.hasNext() ? iterator.next() : null;
}
- public Edge<T> getIncomingEdgeOfType(Object type) {
+ public Edge<T, U> getIncomingEdgeOfType(U type) {
return getFirstEdge(getIncomingEdgesOfType(type).iterator());
}
- public Edge<T> getOutgoingEdgeOfType(Object type) {
+ public Edge<T, U> getOutgoingEdgeOfType(U type) {
return getFirstEdge(getOutgoingEdgesOfType(type).iterator());
}
- public Edge<T> getIncomingEdge() {
+ public Edge<T, U> getIncomingEdge() {
return getFirstEdge(getIncomingEdgesNotOfType(null).iterator());
}
- public Edge<T> getOutgoingEdge() {
+ public Edge<T, U> getOutgoingEdge() {
return getFirstEdge(getOutgoingEdgesNotOfType(null).iterator());
}
- public Collection<Edge<T>> getIncomingEdges() {
+ public Collection<Edge<T, U>> getIncomingEdges() {
return Arrays.asList(Arrays.copyOf(incoming, incomingLength));
}
- public Collection<Edge<T>> getOutgoingEdges() {
+ public Collection<Edge<T, U>> getOutgoingEdges() {
return Arrays.asList(Arrays.copyOf(outgoing, outgoingLength));
}
@@ -256,13 +256,13 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
buf.append(":");
- Collection<Edge<T>> edges = getOutgoingEdges();
+ Collection<Edge<T, U>> edges = getOutgoingEdges();
int size = edges.size();
if (size > 0) {
found = true;
buf.append(">[");
- List<Edge<T>> e = new ArrayList<Edge<T>>(edges);
+ List<Edge<T, U>> e = new ArrayList<>(edges);
Collections.sort(e, new DestinationCompare());
for (int i = 0; i < size - 1; i++) {
@@ -277,7 +277,7 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
if (size > 0) {
if (found) buf.append(", ");
buf.append("<[");
- List<Edge<T>> e = new ArrayList<Edge<T>>(edges);
+ List<Edge<T, U>> e = new ArrayList<>(edges);
Collections.sort(e, new SourceCompare());
for (int i = 0; i < size - 1; i++) {
@@ -291,15 +291,15 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
}
@Override
- public int compareTo(Vertex<T> that) {
+ public int compareTo(Vertex<T, U> that) {
if (getID() == that.getID()) return 0;
if (getID() < that.getID()) return -1;
return 1;
}
- class SourceCompare implements Comparator<Edge<T>> {
+ class SourceCompare implements Comparator<Edge<T, U>> {
@Override
- public int compare(Edge<T> o1, Edge<T> o2) {
+ public int compare(Edge<T, U> o1, Edge<T, U> o2) {
int i1 = o1.getSource().getID();
int i2 = o2.getSource().getID();
@@ -308,9 +308,9 @@ public class Vertex<T extends ExplicitVertexID> implements Comparable<Vertex<T>>
}
}
- class DestinationCompare implements Comparator<Edge<T>> {
+ class DestinationCompare implements Comparator<Edge<T, U>> {
@Override
- public int compare(Edge<T> o1, Edge<T> o2) {
+ public int compare(Edge<T, U> o1, Edge<T, U> o2) {
int i1 = o1.getDestination().getID();
int i2 = o2.getDestination().getID();
View it on GitLab: https://salsa.debian.org/java-team/dirgra/-/commit/23839d2b1b4243f4f1fdc86633fd2156b6895276
--
View it on GitLab: https://salsa.debian.org/java-team/dirgra/-/commit/23839d2b1b4243f4f1fdc86633fd2156b6895276
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260826/ff4eb53d/attachment.htm>
More information about the pkg-java-commits
mailing list