X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneModificationDetector.java;h=793d332bec70a69bb947fab4cf49263ed90d32e6;hb=refs%2Fheads%2Fmaster;hp=810241a9c34de54cfeff5f75eb55b55b266328b1;hpb=cb0161bb413434c393ae09d46001dba66b876875;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java b/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
index 810241a..793d332 100644
--- a/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
+++ b/src/main/java/net/pterodactylus/sone/core/SoneModificationDetector.java
@@ -1,7 +1,5 @@
package net.pterodactylus.sone.core;
-import static com.google.common.base.Optional.absent;
-import static com.google.common.base.Optional.of;
import static com.google.common.base.Ticker.systemTicker;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
@@ -11,22 +9,19 @@ import net.pterodactylus.sone.data.Sone;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
-import com.google.common.base.Optional;
import com.google.common.base.Ticker;
/**
* Class that detects {@link Sone} modifications (as per their {@link
* Sone#getFingerprint() fingerprints} and determines when a modified Sone may
* be inserted.
- *
- * @author David âBombeâ Roden
*/
class SoneModificationDetector {
private final Ticker ticker;
private final LockableFingerprintProvider lockableFingerprintProvider;
private final AtomicInteger insertionDelay;
- private Optional lastModificationTime;
+ private Long lastModificationTime;
private String lastInsertFingerprint;
private String lastCheckFingerprint;
@@ -44,18 +39,18 @@ class SoneModificationDetector {
public boolean isEligibleForInsert() {
if (lockableFingerprintProvider.isLocked()) {
- lastModificationTime = absent();
+ lastModificationTime = null;
lastCheckFingerprint = "";
return false;
}
String fingerprint = lockableFingerprintProvider.getFingerprint();
if (fingerprint.equals(lastInsertFingerprint)) {
- lastModificationTime = absent();
+ lastModificationTime = null;
lastCheckFingerprint = fingerprint;
return false;
}
if (!Objects.equal(lastCheckFingerprint, fingerprint)) {
- lastModificationTime = of(ticker.read());
+ lastModificationTime = ticker.read();
lastCheckFingerprint = fingerprint;
return false;
}
@@ -69,11 +64,11 @@ class SoneModificationDetector {
public void setFingerprint(String fingerprint) {
lastInsertFingerprint = fingerprint;
lastCheckFingerprint = lastInsertFingerprint;
- lastModificationTime = absent();
+ lastModificationTime = null;
}
private boolean insertionDelayHasPassed() {
- return NANOSECONDS.toSeconds(ticker.read() - lastModificationTime.get()) >= insertionDelay.get();
+ return NANOSECONDS.toSeconds(ticker.read() - lastModificationTime) >= insertionDelay.get();
}
public boolean isModified() {
@@ -83,8 +78,6 @@ class SoneModificationDetector {
/**
* Provider for a fingerprint and the information if a {@link Sone} is locked. This
* prevents us from having to lug a Sone object around.
- *
- * @author David âBombeâ Roden
*/
static interface LockableFingerprintProvider {