summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorGravatar Uko Kokņevičs2024-08-16 23:29:12 +0300
committerGravatar Uko Kokņevičs2024-08-16 23:29:12 +0300
commit0aeff1a757908bdc8972bca20330752858cbb903 (patch)
tree46dde2d01f6d95aa911271c43844765433360de4 /utils
parentSmall improvements (diff)
downloadorang-0aeff1a757908bdc8972bca20330752858cbb903.tar.gz
orang-0aeff1a757908bdc8972bca20330752858cbb903.tar.xz
orang-0aeff1a757908bdc8972bca20330752858cbb903.zip
Big Refactoring, added support for comments
Diffstat (limited to 'utils')
-rw-r--r--utils/build.gradle.kts20
-rw-r--r--utils/src/main/java/lv/enes/orang/utils/NonEmptyList.java28
-rw-r--r--utils/src/main/java/module-info.java5
3 files changed, 53 insertions, 0 deletions
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 @@
1plugins {
2 java
3 id("io.freefair.lombok") version "8.6"
4}
5
6repositories {
7 mavenCentral()
8}
9
10java {
11 sourceCompatibility = JavaVersion.VERSION_22
12 targetCompatibility = JavaVersion.VERSION_22
13 toolchain {
14 languageVersion = JavaLanguageVersion.of(22)
15 }
16}
17
18tasks.withType<JavaCompile> {
19 options.compilerArgs.add("--enable-preview")
20} \ 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 @@
1package lv.enes.orang.utils;
2
3import lombok.EqualsAndHashCode;
4
5import java.util.AbstractList;
6import java.util.List;
7
8@EqualsAndHashCode(callSuper = true)
9public class NonEmptyList<E> extends AbstractList<E> {
10 private final List<E> delegate;
11
12 public NonEmptyList(List<E> delegate) {
13 if (delegate.isEmpty()) {
14 throw new IllegalArgumentException("Empty list");
15 }
16 this.delegate = List.copyOf(delegate);
17 }
18
19 @Override
20 public E get(int index) {
21 return delegate.get(index);
22 }
23
24 @Override
25 public int size() {
26 return delegate.size();
27 }
28}
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 @@
1module lv.enes.orang.utils {
2 exports lv.enes.orang.utils;
3
4 requires static lombok;
5} \ No newline at end of file