From 0aeff1a757908bdc8972bca20330752858cbb903 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Fri, 16 Aug 2024 23:29:12 +0300 Subject: Big Refactoring, added support for comments --- utils/build.gradle.kts | 20 ++++++++++++++++ .../java/lv/enes/orang/utils/NonEmptyList.java | 28 ++++++++++++++++++++++ utils/src/main/java/module-info.java | 5 ++++ 3 files changed, 53 insertions(+) create mode 100644 utils/build.gradle.kts create mode 100644 utils/src/main/java/lv/enes/orang/utils/NonEmptyList.java create mode 100644 utils/src/main/java/module-info.java (limited to 'utils') diff --git a/utils/build.gradle.kts b/utils/build.gradle.kts new file mode 100644 index 0000000..04cda43 --- /dev/null +++ b/utils/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + java + id("io.freefair.lombok") version "8.6" +} + +repositories { + mavenCentral() +} + +java { + sourceCompatibility = JavaVersion.VERSION_22 + targetCompatibility = JavaVersion.VERSION_22 + toolchain { + languageVersion = JavaLanguageVersion.of(22) + } +} + +tasks.withType { + options.compilerArgs.add("--enable-preview") +} \ No newline at end of file diff --git a/utils/src/main/java/lv/enes/orang/utils/NonEmptyList.java b/utils/src/main/java/lv/enes/orang/utils/NonEmptyList.java new file mode 100644 index 0000000..197491f --- /dev/null +++ b/utils/src/main/java/lv/enes/orang/utils/NonEmptyList.java @@ -0,0 +1,28 @@ +package lv.enes.orang.utils; + +import lombok.EqualsAndHashCode; + +import java.util.AbstractList; +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +public class NonEmptyList extends AbstractList { + private final List delegate; + + public NonEmptyList(List delegate) { + if (delegate.isEmpty()) { + throw new IllegalArgumentException("Empty list"); + } + this.delegate = List.copyOf(delegate); + } + + @Override + public E get(int index) { + return delegate.get(index); + } + + @Override + public int size() { + return delegate.size(); + } +} diff --git a/utils/src/main/java/module-info.java b/utils/src/main/java/module-info.java new file mode 100644 index 0000000..47e37e0 --- /dev/null +++ b/utils/src/main/java/module-info.java @@ -0,0 +1,5 @@ +module lv.enes.orang.utils { + exports lv.enes.orang.utils; + + requires static lombok; +} \ No newline at end of file -- cgit v1.2.3