X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneModificationDetector.java;h=793d332bec70a69bb947fab4cf49263ed90d32e6;hp=810241a9c34de54cfeff5f75eb55b55b266328b1;hb=64740709990291688170ebd1f192af5eb9090618;hpb=cb0161bb413434c393ae09d46001dba66b876875 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 {