From 1197d65d8da51f0048ca85fa9700fb9204432e8f Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Fri, 13 Apr 2018 15:45:03 +0100
Subject: [PATCH] Extract ClientVersion inner class.

---
 .../bramble/sync/ClientVersion.java           | 42 +++++++++++++++++++
 .../sync/ClientVersioningManagerImpl.java     | 33 ---------------
 2 files changed, 42 insertions(+), 33 deletions(-)
 create mode 100644 bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java

diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java
new file mode 100644
index 0000000000..36a51a4e3e
--- /dev/null
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersion.java
@@ -0,0 +1,42 @@
+package org.briarproject.bramble.sync;
+
+import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
+import org.briarproject.bramble.api.sync.ClientId;
+
+import javax.annotation.concurrent.Immutable;
+
+@Immutable
+@NotNullByDefault
+class ClientVersion implements Comparable<ClientVersion> {
+
+	final ClientId clientId;
+	final int clientVersion;
+
+	ClientVersion(ClientId clientId, int clientVersion) {
+		this.clientId = clientId;
+		this.clientVersion = clientVersion;
+	}
+
+	@Override
+	public boolean equals(Object o) {
+		if (o instanceof ClientVersion) {
+			ClientVersion cv = (ClientVersion) o;
+			return clientId.equals(cv.clientId)
+					&& clientVersion == cv.clientVersion;
+		}
+		return false;
+	}
+
+	@Override
+	public int hashCode() {
+		return (clientId.hashCode() << 16) + clientVersion;
+	}
+
+	@Override
+	public int compareTo(ClientVersion c) {
+		int compare = clientId.compareTo(c.clientId);
+		if (compare != 0) return compare;
+		return clientVersion - c.clientVersion;
+	}
+}
+
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
index 9cb4d9c63f..5594ac5e57 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/sync/ClientVersioningManagerImpl.java
@@ -501,39 +501,6 @@ class ClientVersioningManagerImpl implements ClientVersioningManager, Client,
 		}
 	}
 
-	private static class ClientVersion implements Comparable<ClientVersion> {
-
-		private final ClientId clientId;
-		private final int clientVersion;
-
-		private ClientVersion(ClientId clientId, int clientVersion) {
-			this.clientId = clientId;
-			this.clientVersion = clientVersion;
-		}
-
-		@Override
-		public boolean equals(Object o) {
-			if (o instanceof ClientVersion) {
-				ClientVersion cv = (ClientVersion) o;
-				return clientId.equals(cv.clientId)
-						&& clientVersion == cv.clientVersion;
-			}
-			return false;
-		}
-
-		@Override
-		public int hashCode() {
-			return (clientId.hashCode() << 16) + clientVersion;
-		}
-
-		@Override
-		public int compareTo(ClientVersion c) {
-			int compare = clientId.compareTo(c.clientId);
-			if (compare != 0) return compare;
-			return clientVersion - c.clientVersion;
-		}
-	}
-
 	private static class ClientState {
 
 		private final ClientVersion version;
-- 
GitLab