From 0c4b127c40b314a9e2af973b784ed50a2e9f1cbb Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 28 Jun 2023 20:06:36 +0200 Subject: [PATCH] Port ReferenceTime interface to Kotlin --- .../pgpainless/wot/dijkstra/package-info.java | 8 ----- .../wot/dijkstra/sq/ReferenceTime.java | 34 ------------------- .../wot/dijkstra/sq/package-info.java | 8 ----- .../wot/dijkstra/sq/ReferenceTime.kt | 31 +++++++++++++++++ 4 files changed, 31 insertions(+), 50 deletions(-) delete mode 100644 wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/package-info.java delete mode 100644 wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/ReferenceTime.java delete mode 100644 wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/package-info.java create mode 100644 wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/ReferenceTime.kt diff --git a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/package-info.java b/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/package-info.java deleted file mode 100644 index 4b95a2dc..00000000 --- a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Paul Schaub -// -// SPDX-License-Identifier: Apache-2.0 - -/** - * Dijkstra-based WoT implementation using a flow network. - */ -package org.pgpainless.wot.dijkstra; diff --git a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/ReferenceTime.java b/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/ReferenceTime.java deleted file mode 100644 index 7db98a0e..00000000 --- a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/ReferenceTime.java +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Paul Schaub -// -// SPDX-License-Identifier: Apache-2.0 - -package org.pgpainless.wot.dijkstra.sq; - -import javax.annotation.Nonnull; -import java.util.Date; - -public interface ReferenceTime { - - @Nonnull Date getTimestamp(); - - static ReferenceTime now() { - final Date now = new Date(); - return new ReferenceTime() { - @Override - @Nonnull - public Date getTimestamp() { - return now; - } - }; - } - - static ReferenceTime timestamp(@Nonnull Date timestamp) { - return new ReferenceTime() { - @Override - @Nonnull - public Date getTimestamp() { - return timestamp; - } - }; - } -} diff --git a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/package-info.java b/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/package-info.java deleted file mode 100644 index 74c154b2..00000000 --- a/wot-dijkstra/src/main/java/org/pgpainless/wot/dijkstra/sq/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Paul Schaub -// -// SPDX-License-Identifier: Apache-2.0 - -/** - * Web of Trust implementation. - */ -package org.pgpainless.wot.dijkstra.sq; diff --git a/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/ReferenceTime.kt b/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/ReferenceTime.kt new file mode 100644 index 00000000..bd05ca54 --- /dev/null +++ b/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/ReferenceTime.kt @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2023 Paul Schaub +// +// SPDX-License-Identifier: Apache-2.0 + +package org.pgpainless.wot.dijkstra.sq + +import java.util.* + +interface ReferenceTime { + + val timestamp: Date + + companion object { + @JvmStatic + fun now(): ReferenceTime { + val now = Date() + return object: ReferenceTime { + override val timestamp: Date + get() = now + } + } + + @JvmStatic + fun timestamp(stamp: Date): ReferenceTime { + return object: ReferenceTime { + override val timestamp: Date + get() = stamp + } + } + } +} \ No newline at end of file