diff --git a/haiti-bom/pom.xml b/haiti-bom/pom.xml
index 29c4e47..ae42376 100644
--- a/haiti-bom/pom.xml
+++ b/haiti-bom/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti-bom
- 1.0.0
+ ${revision}
pom
Haiti BOM
@@ -30,15 +30,19 @@
UTF-8
UTF-8
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
+ 1.0.1
+
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
0.0.4
0.0.4
+
0.0.4
+ 0.0.1
4.3.1
2.6.1
@@ -49,6 +53,7 @@
7.16.3
1.7.33
1.0.1
+ 23.0.0
1.6.8
3.9.0
@@ -152,6 +157,12 @@
provided
true
+
+
+ org.jetbrains
+ annotations
+ ${jetbrains.annotations.ver}
+
diff --git a/haiti-context/pom.xml b/haiti-context/pom.xml
index 8144994..b0b073d 100644
--- a/haiti-context/pom.xml
+++ b/haiti-context/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
haiti-context
@@ -17,8 +17,6 @@
https://github.com/haiti-projects/haiti-framework
- false
-
11
${java.version}
${java.version}
@@ -37,20 +35,4 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
-
- ${skip.deploy}
-
-
-
-
-
\ No newline at end of file
diff --git a/haiti-context/src/main/java/dev/struchkov/haiti/context/domain/ExistsContainer.java b/haiti-context/src/main/java/dev/struchkov/haiti/context/domain/ExistsContainer.java
index 16c000c..b6d6b49 100644
--- a/haiti-context/src/main/java/dev/struchkov/haiti/context/domain/ExistsContainer.java
+++ b/haiti-context/src/main/java/dev/struchkov/haiti/context/domain/ExistsContainer.java
@@ -1,10 +1,10 @@
package dev.struchkov.haiti.context.domain;
-import dev.struchkov.haiti.utils.Assert;
-
import java.util.Collection;
import java.util.Collections;
+import static dev.struchkov.haiti.utils.Inspector.isNotNull;
+
/**
* Контейнер для возврата результата сервисных методов exists.
*
@@ -23,12 +23,12 @@ public class ExistsContainer {
}
public static ExistsContainer allFind(Collection container) {
- Assert.isNotNull(container);
+ isNotNull(container);
return new ExistsContainer<>(container, true, Collections.emptyList());
}
public static ExistsContainer notAllFind(Collection container, Collection idNoFound) {
- Assert.isNotNull(container, idNoFound);
+ isNotNull(container, idNoFound);
return new ExistsContainer<>(container, false, idNoFound);
}
@@ -43,4 +43,5 @@ public class ExistsContainer {
public Collection getIdNoFound() {
return idNoFound;
}
+
}
diff --git a/haiti-context/src/main/java/dev/struchkov/haiti/context/page/impl/SortImpl.java b/haiti-context/src/main/java/dev/struchkov/haiti/context/page/impl/SortImpl.java
index 5de80df..662e277 100644
--- a/haiti-context/src/main/java/dev/struchkov/haiti/context/page/impl/SortImpl.java
+++ b/haiti-context/src/main/java/dev/struchkov/haiti/context/page/impl/SortImpl.java
@@ -3,7 +3,7 @@ package dev.struchkov.haiti.context.page.impl;
import dev.struchkov.haiti.context.enums.TypeSort;
import dev.struchkov.haiti.context.page.Sort;
-import static dev.struchkov.haiti.utils.Assert.isNotNull;
+import static dev.struchkov.haiti.utils.Inspector.isNotNull;
public class SortImpl implements Sort {
diff --git a/haiti-core/pom.xml b/haiti-core/pom.xml
index b5f1edc..ccf6b6d 100644
--- a/haiti-core/pom.xml
+++ b/haiti-core/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
haiti-core
@@ -17,8 +17,6 @@
https://github.com/haiti-projects/haiti-framework
- false
-
11
${java.version}
${java.version}
@@ -38,20 +36,4 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
-
- ${skip.deploy}
-
-
-
-
-
\ No newline at end of file
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/repository/SimpleManagerRepositoryMap.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/repository/SimpleManagerRepositoryMap.java
index 9be5879..f69fa1b 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/repository/SimpleManagerRepositoryMap.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/repository/SimpleManagerRepositoryMap.java
@@ -4,7 +4,7 @@ import dev.struchkov.haiti.context.domain.BasicEntity;
import dev.struchkov.haiti.context.page.Pagination;
import dev.struchkov.haiti.context.page.Sheet;
import dev.struchkov.haiti.context.repository.SimpleManagerRepository;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
import java.util.Collection;
import java.util.HashMap;
@@ -22,7 +22,7 @@ public class SimpleManagerRepositoryMap> implements
@Override
public T save(T accessTarget) {
- Assert.isNotNull(accessTarget);
+ Inspector.isNotNull(accessTarget);
accessTarget.setId(key);
map.put(key, accessTarget);
key++;
@@ -31,25 +31,25 @@ public class SimpleManagerRepositoryMap> implements
@Override
public Optional findById(Long id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return Optional.ofNullable(map.get(id));
}
@Override
public boolean existsById(Long id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return map.containsKey(id);
}
@Override
public void deleteById(Long id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
map.remove(id);
}
@Override
public List saveAll(Collection accessTargets) {
- Assert.isNotNull(accessTargets);
+ Inspector.isNotNull(accessTargets);
return accessTargets.stream()
.map(this::save)
.collect(Collectors.toList());
@@ -57,13 +57,13 @@ public class SimpleManagerRepositoryMap> implements
@Override
public void deleteAllById(Collection accessTargets) {
- Assert.isNotNull(accessTargets);
+ Inspector.isNotNull(accessTargets);
accessTargets.forEach(map::remove);
}
@Override
public List findAllById(Collection ids) {
- Assert.isNotNull(ids);
+ Inspector.isNotNull(ids);
return ids.stream()
.map(map::get)
.collect(Collectors.toList());
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractFilterService.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractFilterService.java
index e64c30b..d0f8b06 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractFilterService.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractFilterService.java
@@ -5,7 +5,7 @@ import dev.struchkov.haiti.context.page.Sheet;
import dev.struchkov.haiti.context.service.simple.FilterService;
import dev.struchkov.haiti.filter.Filter;
import dev.struchkov.haiti.filter.FilterOperation;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
import java.util.Optional;
@@ -19,25 +19,25 @@ public abstract class AbstractFilterService implements FilterService<
@Override
public Sheet getAll(F filter, Pagination pagination) {
- Assert.isNotNull(filter);
+ Inspector.isNotNull(filter);
return filterOperation.findAll(createFilter(filter), pagination);
}
@Override
public Optional getFirst(F filter) {
- Assert.isNotNull(filter);
+ Inspector.isNotNull(filter);
return filterOperation.findFirst(createFilter(filter));
}
@Override
public boolean exists(F filter) {
- Assert.isNotNull(filter);
+ Inspector.isNotNull(filter);
return filterOperation.exists(createFilter(filter));
}
@Override
public long count(F filter) {
- Assert.isNotNull(filter);
+ Inspector.isNotNull(filter);
return filterOperation.count(createFilter(filter));
}
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractMultipleService.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractMultipleService.java
index 432253f..e07aa1e 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractMultipleService.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractMultipleService.java
@@ -6,7 +6,7 @@ import dev.struchkov.haiti.context.repository.simple.MultipleOperation;
import dev.struchkov.haiti.context.service.simple.MultipleService;
import dev.struchkov.haiti.context.service.simple.SimpleService;
import dev.struchkov.haiti.core.util.ServiceOperation;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
import java.util.Collection;
import java.util.List;
@@ -24,25 +24,25 @@ public abstract class AbstractMultipleService, K
@Override
public void deleteAllById(Collection ids) {
- Assert.isNotNull(ids);
+ Inspector.isNotNull(ids);
multipleOperation.deleteAllById(ids);
}
@Override
public List createAll(Collection entities) {
- Assert.isNotNull(entities);
+ Inspector.isNotNull(entities);
return entities.stream().map(simpleService::create).collect(Collectors.toList());
}
@Override
public List updateAll(Collection entities) {
- Assert.isNotNull(entities);
+ Inspector.isNotNull(entities);
return entities.stream().map(simpleService::update).collect(Collectors.toList());
}
@Override
public ExistsContainer existsById(Collection ids) {
- Assert.isNotNull(ids);
+ Inspector.isNotNull(ids);
return ServiceOperation.existsContainerById(multipleOperation, ids);
}
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractPagingService.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractPagingService.java
index effb254..6a0fa03 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractPagingService.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractPagingService.java
@@ -4,7 +4,7 @@ import dev.struchkov.haiti.context.page.Pagination;
import dev.struchkov.haiti.context.page.Sheet;
import dev.struchkov.haiti.context.repository.simple.PagingOperation;
import dev.struchkov.haiti.context.service.simple.PagingService;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
public abstract class AbstractPagingService implements PagingService {
@@ -16,7 +16,7 @@ public abstract class AbstractPagingService implements PagingService {
@Override
public Sheet getAll(Pagination pagination) {
- Assert.isNotNull(pagination);
+ Inspector.isNotNull(pagination);
return pagingOperation.findAll(pagination);
}
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleManagerService.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleManagerService.java
index d021844..34d73fb 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleManagerService.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleManagerService.java
@@ -8,13 +8,15 @@ import dev.struchkov.haiti.context.page.Sheet;
import dev.struchkov.haiti.context.repository.SimpleManagerRepository;
import dev.struchkov.haiti.context.service.SimpleManagerService;
import dev.struchkov.haiti.core.util.ServiceOperation;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
+import static dev.struchkov.haiti.context.exception.NotFoundException.notFoundException;
+
public abstract class AbstractSimpleManagerService, Key> implements SimpleManagerService {
protected final SimpleManagerRepository repository;
@@ -25,55 +27,55 @@ public abstract class AbstractSimpleManagerService ids) {
- Assert.isNotNull(ids);
+ Inspector.isNotNull(ids);
ServiceOperation.deleteAllById(repository, ids);
}
@Override
public Sheet getAll(Pagination pagination) {
- Assert.isNotNull(pagination);
+ Inspector.isNotNull(pagination);
return ServiceOperation.getAll(repository, pagination);
}
@Override
public Optional getById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return ServiceOperation.getById(repository, id);
}
@Override
public Entity getByIdOrThrow(Key id) {
- Assert.isNotNull(id);
- return getById(id).orElseThrow(NotFoundException.supplier("Объект не найден. Идентификатор: ", id));
+ Inspector.isNotNull(id);
+ return getById(id).orElseThrow(notFoundException("Объект не найден. Идентификатор: ", id));
}
@Override
public boolean existsById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return ServiceOperation.existsById(repository, id);
}
@Override
public void deleteById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
ServiceOperation.deleteById(repository, id);
}
@Override
public List createAll(Collection entities) {
- Assert.isNotNull(entities);
+ Inspector.isNotNull(entities);
return entities.stream().map(this::create).collect(Collectors.toList());
}
@Override
public List updateAll(Collection entities) {
- Assert.isNotNull(entities);
+ Inspector.isNotNull(entities);
return entities.stream().map(this::update).collect(Collectors.toList());
}
@Override
public ExistsContainer existsById(Collection ids) {
- Assert.isNotNull(ids);
+ Inspector.isNotNull(ids);
return ServiceOperation.existsContainerById(repository, ids);
}
diff --git a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleService.java b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleService.java
index 5e3ae56..fd30b60 100644
--- a/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleService.java
+++ b/haiti-core/src/main/java/dev/struchkov/haiti/core/service/AbstractSimpleService.java
@@ -3,7 +3,7 @@ package dev.struchkov.haiti.core.service;
import dev.struchkov.haiti.context.repository.simple.CrudOperation;
import dev.struchkov.haiti.context.service.simple.SimpleService;
import dev.struchkov.haiti.core.util.ServiceOperation;
-import dev.struchkov.haiti.utils.Assert;
+import dev.struchkov.haiti.utils.Inspector;
import java.util.Optional;
@@ -17,19 +17,19 @@ public abstract class AbstractSimpleService implements SimpleServic
@Override
public Optional getById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return ServiceOperation.getById(crudOperation, id);
}
@Override
public boolean existsById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
return ServiceOperation.existsById(crudOperation, id);
}
@Override
public void deleteById(Key id) {
- Assert.isNotNull(id);
+ Inspector.isNotNull(id);
ServiceOperation.deleteById(crudOperation, id);
}
diff --git a/haiti-exception/pom.xml b/haiti-exception/pom.xml
index ecc6dc9..ff3d9c6 100644
--- a/haiti-exception/pom.xml
+++ b/haiti-exception/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
haiti-exception
@@ -17,8 +17,6 @@
https://github.com/haiti-projects/haiti-framework
- false
-
11
${java.version}
${java.version}
@@ -26,20 +24,4 @@
UTF-8
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
-
- ${skip.deploy}
-
-
-
-
-
\ No newline at end of file
diff --git a/haiti-exception/src/main/java/dev/struchkov/haiti/context/exception/NotFoundException.java b/haiti-exception/src/main/java/dev/struchkov/haiti/context/exception/NotFoundException.java
index e4ca595..cea8645 100644
--- a/haiti-exception/src/main/java/dev/struchkov/haiti/context/exception/NotFoundException.java
+++ b/haiti-exception/src/main/java/dev/struchkov/haiti/context/exception/NotFoundException.java
@@ -14,8 +14,12 @@ public class NotFoundException extends BasicException {
super(message);
}
- public static Supplier supplier(String message, Object... objects) {
- return () -> new NotFoundException(MessageFormat.format(message, objects));
+ public NotFoundException(String message, Object... args) {
+ super(MessageFormat.format(message, args));
+ }
+
+ public static Supplier notFoundException(String message, Object... args) {
+ return () -> new NotFoundException(message, args);
}
}
diff --git a/haiti-filter/pom.xml b/haiti-filter/pom.xml
index 1c576a1..73d2b08 100644
--- a/haiti-filter/pom.xml
+++ b/haiti-filter/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
haiti-filter
@@ -17,8 +17,6 @@
https://github.com/haiti-projects/haiti-framework
- false
-
11
${java.version}
${java.version}
@@ -33,16 +31,4 @@
-
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
-
- ${skip.deploy}
-
-
-
-
-
\ No newline at end of file
diff --git a/haiti-utils/pom.xml b/haiti-utils/pom.xml
index 344a13e..2234cac 100644
--- a/haiti-utils/pom.xml
+++ b/haiti-utils/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
Haiti Utils
@@ -17,8 +17,6 @@
${haiti.utils.ver}
- false
-
11
${java.version}
${java.version}
@@ -33,20 +31,4 @@
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- org.sonatype.plugins
- nexus-staging-maven-plugin
-
- ${skip.deploy}
-
-
-
-
-
\ No newline at end of file
diff --git a/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Assert.java b/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Assert.java
deleted file mode 100644
index 454654b..0000000
--- a/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Assert.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package dev.struchkov.haiti.utils;
-
-import java.util.function.Supplier;
-
-import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
-
-/**
- * Утилитарный класс для различных проверок.
- *
- * @author upagge 06.09.2020
- */
-public final class Assert {
-
- private Assert() {
- utilityClass();
- }
-
- /**
- * Проверка на null значение с возвращением исключения, если объект не null.
- *
- * @param object Проверяемый объект
- * @param exception Возвращаемое исключение
- */
- public static void isNull(Object object, Supplier extends RuntimeException> exception) {
- if (object != null) {
- throw exception.get();
- }
- }
-
- /**
- * Проверяет множество объектов на null. Если хотябы один объект null, то будет выброшено исключение
- *
- * @param exception исключение, которое необходимо выбросить
- * @param objects проверяемое множество объектов
- */
- public static void isAnyNotNull(Supplier extends RuntimeException> exception, Object... objects) {
- for (Object object : objects) {
- if (object == null) {
- throw exception.get();
- }
- }
- }
-
- /**
- * Проверка на null значение с возвращением исключения, если объект null.
- *
- * @param object Проверяемый объект
- * @param exception Возвращаемое исключение
- */
- public static void isNotNull(Object object, Supplier extends RuntimeException> exception) {
- if (object == null) {
- throw exception.get();
- }
- }
-
- /**
- * Проверка на null значение с возвращением исключения, если объект null.
- *
- * @param object Проверяемый объект
- */
- public static void isNotNull(Object object) {
- if (object == null) {
- throw new NullPointerException("Object cannot be null");
- }
- }
-
- /**
- * Проверка на null значение с возвращением исключения, если объект null.
- *
- * @param objects Проверяемый объект
- */
- public static void isNotNull(Object... objects) {
- for (Object o : objects) {
- if (o == null) {
- throw new NullPointerException("Object cannot be null");
- }
- }
- }
-
- /**
- * Проверка на true значение с возвращением исключения, если flag не true.
- *
- * @param flag Проверяемое значение
- * @param exception Возвращаемое исключение
- */
- public static void isTrue(boolean flag, Supplier extends RuntimeException> exception) {
- if (!flag) {
- throw exception.get();
- }
- }
-
- /**
- * Проверка на false значение с возвращением исключения, если flag не false.
- *
- * @param flag Проверяемое значение
- * @param exception Возвращаемое исключение
- */
- public static void isFalse(boolean flag, Supplier extends RuntimeException> exception) {
- if (flag) {
- throw exception.get();
- }
- }
-
-
- public static final class Utils {
-
- public Utils() {
- utilityClass();
- }
-
- public static Supplier nullPointer(String fieldName) {
- return () -> new NullPointerException(fieldName + " is marked non-null but is null");
- }
-
- }
-
-}
diff --git a/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Inspector.java b/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Inspector.java
new file mode 100644
index 0000000..3bd7b73
--- /dev/null
+++ b/haiti-utils/src/main/java/dev/struchkov/haiti/utils/Inspector.java
@@ -0,0 +1,198 @@
+package dev.struchkov.haiti.utils;
+
+import java.util.Collection;
+import java.util.function.Supplier;
+
+import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
+
+/**
+ * Утилитарный класс для различных проверок.
+ *
+ * @author upagge 06.09.2020
+ */
+public final class Inspector {
+
+ private Inspector() {
+ utilityClass();
+ }
+
+ /**
+ * Проверка на null значение с возвращением исключения, если объект не null.
+ *
+ * @param object Проверяемый объект
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isNull(Object object, Supplier extends RuntimeException> exception) {
+ if (object != null) throw exception.get();
+ }
+
+ /**
+ * Проверяет множество объектов на null. Если хотябы один объект null, то будет выброшено исключение
+ *
+ * @param exception исключение, которое необходимо выбросить
+ * @param objects проверяемое множество объектов
+ * @throws RuntimeException
+ */
+ public static void isAnyNotNull(Supplier extends RuntimeException> exception, Object... objects) {
+ for (Object object : objects)
+ if (object == null) throw exception.get();
+ }
+
+ /**
+ * Проверка на null значение с возвращением исключения, если объект null.
+ *
+ * @param object Проверяемый объект
+ * @param exception Возвращаемое исключение
+ */
+ public static void isNotNull(Object object, Supplier extends RuntimeException> exception) {
+ if (object == null) throw exception.get();
+ }
+
+ /**
+ * Проверка на null значение с возвращением исключения, если объект null.
+ *
+ * @param object Проверяемый объект
+ * @throws NullPointerException
+ */
+ public static void isNotNull(Object object) {
+ if (object == null) throw new NullPointerException("Object cannot be null");
+ }
+
+ /**
+ * Проверка на null значение с возвращением исключения, если объект null.
+ *
+ * @param objects Проверяемый объект
+ * @throws NullPointerException
+ */
+ public static void isNotNull(Object... objects) {
+ for (Object o : objects)
+ if (o == null) throw new NullPointerException("Object cannot be null");
+ }
+
+ /**
+ * Проверка на true значение с возвращением исключения, если flag не true.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isTrue(boolean flag, Supplier extends RuntimeException> exception) {
+ if (!flag) throw exception.get();
+ }
+
+ /**
+ * Проверка на false значение с возвращением исключения, если flag не false.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isFalse(boolean flag, Supplier extends RuntimeException> exception) {
+ if (flag) throw exception.get();
+ }
+
+ /**
+ * Проверка коллекции на пустоту.
+ *
+ * @return false - если коллекция null или пустая, true в противном случае.
+ */
+ public static boolean isNotEmpty(Collection> collection) {
+ return collection != null && !collection.isEmpty();
+ }
+
+ /**
+ * Проверка массива на пустоту
+ *
+ * @return false - если массив null или пустой, true в противном случае.
+ */
+ public static boolean isNotEmpty(Object... args) {
+ if (args == null) {
+ return false;
+ } else {
+ return args.length > 0;
+ }
+ }
+
+ /**
+ * Проверка коллекции на пустоту.
+ *
+ * @return true - если коллекция null или пустая, false в противном случае
+ */
+ public static boolean isEmpty(Collection> collection) {
+ return collection == null || collection.isEmpty();
+ }
+
+ /**
+ * Проверка массива на пустоту.
+ *
+ * @return true - если массив null или пустой, false в противном случае
+ */
+ public static boolean isEmpty(Object... args) {
+ return args == null || args.length == 0;
+ }
+
+ /**
+ * Проверка коллекции на пустоту. Если коллекция пустая или null, то будет выбрашено исключение.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isNotEmpty(Collection> collection, Supplier extends RuntimeException> exception) {
+ if (isEmpty(collection)) {
+ throw exception.get();
+ }
+ }
+
+ /**
+ * Проверка массива на пустоту. Если массив пустой или null, то будет выбрашено исключение.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isNotEmpty(Supplier extends RuntimeException> exception, Object... args) {
+ if (isEmpty(args)) {
+ throw exception.get();
+ }
+ }
+
+ /**
+ * Проверка коллекции на пустоту. Если коллекция не пустая и не null, то будет выбрашено исключение.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isEmpty(Collection> collection, Supplier extends RuntimeException> exception) {
+ if (isNotEmpty(collection)) throw exception.get();
+ }
+
+ /**
+ * Проверка массива на пустоту. Если массив не пустой и не null, то будет выбрашено исключение.
+ *
+ * @param exception Возвращаемое исключение
+ * @throws RuntimeException
+ */
+ public static void isEmpty(Supplier extends RuntimeException> exception, Object... args) {
+ if (isNotEmpty(args)) throw exception.get();
+ }
+
+ /**
+ * Утилитарный класс.
+ */
+ public static final class Utils {
+
+ private Utils() {
+ utilityClass();
+ }
+
+ /**
+ * Позволяет указать имя поля/параметра, который был null.
+ *
+ * @param fieldName имя поля/параметра
+ * @throws RuntimeException
+ */
+ public static Supplier nullPointer(String fieldName) {
+ return () -> new NullPointerException(fieldName + " is marked non-null but is null");
+ }
+
+ }
+
+}
diff --git a/haiti-utils/src/main/java/dev/struchkov/haiti/utils/ObjectUtils.java b/haiti-utils/src/main/java/dev/struchkov/haiti/utils/ObjectUtils.java
index aa12e69..ab586c6 100644
--- a/haiti-utils/src/main/java/dev/struchkov/haiti/utils/ObjectUtils.java
+++ b/haiti-utils/src/main/java/dev/struchkov/haiti/utils/ObjectUtils.java
@@ -13,6 +13,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
+import static dev.struchkov.haiti.utils.Inspector.isNotNull;
/**
* Утилитарный класс для работы с классами и объектами.
@@ -37,8 +38,8 @@ public class ObjectUtils {
* @return Значение поля из объекта
*/
public static Object getFieldValue(Object object, String fieldName) {
- Assert.isNotNull(object, fieldName);
- int firstNameIndex = fieldName.indexOf(".");
+ isNotNull(object, fieldName);
+ final int firstNameIndex = fieldName.indexOf(".");
String firstName;
if (firstNameIndex != -1) {
firstName = fieldName.substring(0, firstNameIndex);
@@ -63,8 +64,8 @@ public class ObjectUtils {
}
public static void setFieldValue(Object object, String fieldName, Object fieldValue) {
- Assert.isNotNull(object, fieldName);
- int firstNameIndex = fieldName.indexOf(".");
+ isNotNull(object, fieldName);
+ final int firstNameIndex = fieldName.indexOf(".");
if (firstNameIndex != -1) {
final String[] split = fieldName.split("\\.");
final String fieldNameToObject = String.join(".", Arrays.copyOf(split, split.length - 1));
@@ -85,7 +86,7 @@ public class ObjectUtils {
}
}
}
- Assert.isFalse(flag, () -> new ConvertException("Метод у объекта не найден"));
+ Inspector.isFalse(flag, () -> new ConvertException("Метод у объекта не найден"));
}
private static Object convertFieldValue(Object fieldValue, Class> parameterType) {
@@ -124,7 +125,7 @@ public class ObjectUtils {
* @return true если метод является геттером для fieldName, false в противном случае
*/
public static boolean isGetMethod(String fieldName, Method method) {
- Assert.isNotNull(fieldName);
+ isNotNull(fieldName);
return (method.getName().startsWith("get"))
&& (method.getName().length() == (fieldName.length() + 3))
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
@@ -138,7 +139,7 @@ public class ObjectUtils {
* @return true если метод является сеттером для fieldName, false в противном случае
*/
public static boolean isSetMethod(String fieldName, Method method) {
- Assert.isNotNull(fieldName);
+ isNotNull(fieldName);
return (method.getName().startsWith("set"))
&& (method.getName().length() == (fieldName.length() + 3))
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
diff --git a/pom.xml b/pom.xml
index 42bff95..7247b10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
dev.struchkov.haiti
haiti
- 1.0.0
+ ${revision}
pom
Haiti Framework
@@ -39,14 +39,16 @@
UTF-8
UTF-8
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
- 1.0.0
+ 1.0.1
+
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
+ ${revision}
3.9.0
1.6.8
@@ -60,7 +62,7 @@
dev.struchkov.haiti
haiti-bom
- 1.0.0
+ ${haiti.bom.ver}
pom
import
@@ -138,6 +140,14 @@
org.apache.maven.plugins
maven-compiler-plugin
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+