[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