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 --- .../java/lv/enes/orang/utils/NonEmptyList.java | 28 ++++++++++++++++++++++ utils/src/main/java/module-info.java | 5 ++++ 2 files changed, 33 insertions(+) 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/src') 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