Assert переименован на Inspector. Добавлены новые методы в NotFoundException
This commit is contained in:
parent
7df13b2c0b
commit
4d488403ca
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti-bom</artifactId>
|
<artifactId>haiti-bom</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<name>Haiti BOM</name>
|
<name>Haiti BOM</name>
|
||||||
@ -30,15 +30,19 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
||||||
<haiti.exception.ver>1.0.0</haiti.exception.ver>
|
<revision>1.0.1</revision>
|
||||||
<haiti.context.ver>1.0.0</haiti.context.ver>
|
|
||||||
<haiti.core.ver>1.0.0</haiti.core.ver>
|
<haiti.exception.ver>${revision}</haiti.exception.ver>
|
||||||
<haiti.filter.api.ver>1.0.0</haiti.filter.api.ver>
|
<haiti.context.ver>${revision}</haiti.context.ver>
|
||||||
<haiti.utils.ver>1.0.0</haiti.utils.ver>
|
<haiti.core.ver>${revision}</haiti.core.ver>
|
||||||
|
<haiti.filter.api.ver>${revision}</haiti.filter.api.ver>
|
||||||
|
<haiti.utils.ver>${revision}</haiti.utils.ver>
|
||||||
|
|
||||||
<haiti.database.ver>0.0.4</haiti.database.ver>
|
<haiti.database.ver>0.0.4</haiti.database.ver>
|
||||||
<haiti.filter.criteria.ver>0.0.4</haiti.filter.criteria.ver>
|
<haiti.filter.criteria.ver>0.0.4</haiti.filter.criteria.ver>
|
||||||
|
|
||||||
<haiti.utils.network.ver>0.0.4</haiti.utils.network.ver>
|
<haiti.utils.network.ver>0.0.4</haiti.utils.network.ver>
|
||||||
|
<haiti.utils.field.constants>0.0.1</haiti.utils.field.constants>
|
||||||
|
|
||||||
<spring.data.elasticsearch.ver>4.3.1</spring.data.elasticsearch.ver>
|
<spring.data.elasticsearch.ver>4.3.1</spring.data.elasticsearch.ver>
|
||||||
<spring.data.jpa.ver>2.6.1</spring.data.jpa.ver>
|
<spring.data.jpa.ver>2.6.1</spring.data.jpa.ver>
|
||||||
@ -49,6 +53,7 @@
|
|||||||
<elasticsearch.ver>7.16.3</elasticsearch.ver>
|
<elasticsearch.ver>7.16.3</elasticsearch.ver>
|
||||||
<slf4j.ver>1.7.33</slf4j.ver>
|
<slf4j.ver>1.7.33</slf4j.ver>
|
||||||
<google.auto.service.ver>1.0.1</google.auto.service.ver>
|
<google.auto.service.ver>1.0.1</google.auto.service.ver>
|
||||||
|
<jetbrains.annotations.ver>23.0.0</jetbrains.annotations.ver>
|
||||||
|
|
||||||
<plugin.nexus.staging.ver>1.6.8</plugin.nexus.staging.ver>
|
<plugin.nexus.staging.ver>1.6.8</plugin.nexus.staging.ver>
|
||||||
<plugin.maven.compiler.ver>3.9.0</plugin.maven.compiler.ver>
|
<plugin.maven.compiler.ver>3.9.0</plugin.maven.compiler.ver>
|
||||||
@ -152,6 +157,12 @@
|
|||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
<optional>true</optional>
|
<optional>true</optional>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jetbrains</groupId>
|
||||||
|
<artifactId>annotations</artifactId>
|
||||||
|
<version>${jetbrains.annotations.ver}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>haiti-context</artifactId>
|
<artifactId>haiti-context</artifactId>
|
||||||
@ -17,8 +17,6 @@
|
|||||||
<url>https://github.com/haiti-projects/haiti-framework</url>
|
<url>https://github.com/haiti-projects/haiti-framework</url>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<skip.deploy>false</skip.deploy>
|
|
||||||
|
|
||||||
<java.version>11</java.version>
|
<java.version>11</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
@ -37,20 +35,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -1,10 +1,10 @@
|
|||||||
package dev.struchkov.haiti.context.domain;
|
package dev.struchkov.haiti.context.domain;
|
||||||
|
|
||||||
import dev.struchkov.haiti.utils.Assert;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
|
import static dev.struchkov.haiti.utils.Inspector.isNotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Контейнер для возврата результата сервисных методов exists.
|
* Контейнер для возврата результата сервисных методов exists.
|
||||||
*
|
*
|
||||||
@ -23,12 +23,12 @@ public class ExistsContainer<Entity, Key> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static <T, K> ExistsContainer<T, K> allFind(Collection<T> container) {
|
public static <T, K> ExistsContainer<T, K> allFind(Collection<T> container) {
|
||||||
Assert.isNotNull(container);
|
isNotNull(container);
|
||||||
return new ExistsContainer<>(container, true, Collections.emptyList());
|
return new ExistsContainer<>(container, true, Collections.emptyList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T, K> ExistsContainer<T, K> notAllFind(Collection<T> container, Collection<K> idNoFound) {
|
public static <T, K> ExistsContainer<T, K> notAllFind(Collection<T> container, Collection<K> idNoFound) {
|
||||||
Assert.isNotNull(container, idNoFound);
|
isNotNull(container, idNoFound);
|
||||||
return new ExistsContainer<>(container, false, idNoFound);
|
return new ExistsContainer<>(container, false, idNoFound);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,4 +43,5 @@ public class ExistsContainer<Entity, Key> {
|
|||||||
public Collection<Key> getIdNoFound() {
|
public Collection<Key> getIdNoFound() {
|
||||||
return idNoFound;
|
return idNoFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package dev.struchkov.haiti.context.page.impl;
|
|||||||
import dev.struchkov.haiti.context.enums.TypeSort;
|
import dev.struchkov.haiti.context.enums.TypeSort;
|
||||||
import dev.struchkov.haiti.context.page.Sort;
|
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 {
|
public class SortImpl implements Sort {
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>haiti-core</artifactId>
|
<artifactId>haiti-core</artifactId>
|
||||||
@ -17,8 +17,6 @@
|
|||||||
<url>https://github.com/haiti-projects/haiti-framework</url>
|
<url>https://github.com/haiti-projects/haiti-framework</url>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<skip.deploy>false</skip.deploy>
|
|
||||||
|
|
||||||
<java.version>11</java.version>
|
<java.version>11</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
@ -38,20 +36,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -4,7 +4,7 @@ import dev.struchkov.haiti.context.domain.BasicEntity;
|
|||||||
import dev.struchkov.haiti.context.page.Pagination;
|
import dev.struchkov.haiti.context.page.Pagination;
|
||||||
import dev.struchkov.haiti.context.page.Sheet;
|
import dev.struchkov.haiti.context.page.Sheet;
|
||||||
import dev.struchkov.haiti.context.repository.SimpleManagerRepository;
|
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.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -22,7 +22,7 @@ public class SimpleManagerRepositoryMap<T extends BasicEntity<Long>> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public T save(T accessTarget) {
|
public T save(T accessTarget) {
|
||||||
Assert.isNotNull(accessTarget);
|
Inspector.isNotNull(accessTarget);
|
||||||
accessTarget.setId(key);
|
accessTarget.setId(key);
|
||||||
map.put(key, accessTarget);
|
map.put(key, accessTarget);
|
||||||
key++;
|
key++;
|
||||||
@ -31,25 +31,25 @@ public class SimpleManagerRepositoryMap<T extends BasicEntity<Long>> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<T> findById(Long id) {
|
public Optional<T> findById(Long id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return Optional.ofNullable(map.get(id));
|
return Optional.ofNullable(map.get(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean existsById(Long id) {
|
public boolean existsById(Long id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return map.containsKey(id);
|
return map.containsKey(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(Long id) {
|
public void deleteById(Long id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
map.remove(id);
|
map.remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<T> saveAll(Collection<T> accessTargets) {
|
public List<T> saveAll(Collection<T> accessTargets) {
|
||||||
Assert.isNotNull(accessTargets);
|
Inspector.isNotNull(accessTargets);
|
||||||
return accessTargets.stream()
|
return accessTargets.stream()
|
||||||
.map(this::save)
|
.map(this::save)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@ -57,13 +57,13 @@ public class SimpleManagerRepositoryMap<T extends BasicEntity<Long>> implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAllById(Collection<Long> accessTargets) {
|
public void deleteAllById(Collection<Long> accessTargets) {
|
||||||
Assert.isNotNull(accessTargets);
|
Inspector.isNotNull(accessTargets);
|
||||||
accessTargets.forEach(map::remove);
|
accessTargets.forEach(map::remove);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<T> findAllById(Collection<Long> ids) {
|
public List<T> findAllById(Collection<Long> ids) {
|
||||||
Assert.isNotNull(ids);
|
Inspector.isNotNull(ids);
|
||||||
return ids.stream()
|
return ids.stream()
|
||||||
.map(map::get)
|
.map(map::get)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
@ -5,7 +5,7 @@ import dev.struchkov.haiti.context.page.Sheet;
|
|||||||
import dev.struchkov.haiti.context.service.simple.FilterService;
|
import dev.struchkov.haiti.context.service.simple.FilterService;
|
||||||
import dev.struchkov.haiti.filter.Filter;
|
import dev.struchkov.haiti.filter.Filter;
|
||||||
import dev.struchkov.haiti.filter.FilterOperation;
|
import dev.struchkov.haiti.filter.FilterOperation;
|
||||||
import dev.struchkov.haiti.utils.Assert;
|
import dev.struchkov.haiti.utils.Inspector;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@ -19,25 +19,25 @@ public abstract class AbstractFilterService<Entity, F> implements FilterService<
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Sheet<Entity> getAll(F filter, Pagination pagination) {
|
public Sheet<Entity> getAll(F filter, Pagination pagination) {
|
||||||
Assert.isNotNull(filter);
|
Inspector.isNotNull(filter);
|
||||||
return filterOperation.findAll(createFilter(filter), pagination);
|
return filterOperation.findAll(createFilter(filter), pagination);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<Entity> getFirst(F filter) {
|
public Optional<Entity> getFirst(F filter) {
|
||||||
Assert.isNotNull(filter);
|
Inspector.isNotNull(filter);
|
||||||
return filterOperation.findFirst(createFilter(filter));
|
return filterOperation.findFirst(createFilter(filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean exists(F filter) {
|
public boolean exists(F filter) {
|
||||||
Assert.isNotNull(filter);
|
Inspector.isNotNull(filter);
|
||||||
return filterOperation.exists(createFilter(filter));
|
return filterOperation.exists(createFilter(filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long count(F filter) {
|
public long count(F filter) {
|
||||||
Assert.isNotNull(filter);
|
Inspector.isNotNull(filter);
|
||||||
return filterOperation.count(createFilter(filter));
|
return filterOperation.count(createFilter(filter));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.MultipleService;
|
||||||
import dev.struchkov.haiti.context.service.simple.SimpleService;
|
import dev.struchkov.haiti.context.service.simple.SimpleService;
|
||||||
import dev.struchkov.haiti.core.util.ServiceOperation;
|
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.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -24,25 +24,25 @@ public abstract class AbstractMultipleService<Entity extends BasicEntity<Key>, K
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAllById(Collection<Key> ids) {
|
public void deleteAllById(Collection<Key> ids) {
|
||||||
Assert.isNotNull(ids);
|
Inspector.isNotNull(ids);
|
||||||
multipleOperation.deleteAllById(ids);
|
multipleOperation.deleteAllById(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Entity> createAll(Collection<Entity> entities) {
|
public List<Entity> createAll(Collection<Entity> entities) {
|
||||||
Assert.isNotNull(entities);
|
Inspector.isNotNull(entities);
|
||||||
return entities.stream().map(simpleService::create).collect(Collectors.toList());
|
return entities.stream().map(simpleService::create).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Entity> updateAll(Collection<Entity> entities) {
|
public List<Entity> updateAll(Collection<Entity> entities) {
|
||||||
Assert.isNotNull(entities);
|
Inspector.isNotNull(entities);
|
||||||
return entities.stream().map(simpleService::update).collect(Collectors.toList());
|
return entities.stream().map(simpleService::update).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExistsContainer<Entity, Key> existsById(Collection<Key> ids) {
|
public ExistsContainer<Entity, Key> existsById(Collection<Key> ids) {
|
||||||
Assert.isNotNull(ids);
|
Inspector.isNotNull(ids);
|
||||||
return ServiceOperation.existsContainerById(multipleOperation, ids);
|
return ServiceOperation.existsContainerById(multipleOperation, ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import dev.struchkov.haiti.context.page.Pagination;
|
|||||||
import dev.struchkov.haiti.context.page.Sheet;
|
import dev.struchkov.haiti.context.page.Sheet;
|
||||||
import dev.struchkov.haiti.context.repository.simple.PagingOperation;
|
import dev.struchkov.haiti.context.repository.simple.PagingOperation;
|
||||||
import dev.struchkov.haiti.context.service.simple.PagingService;
|
import dev.struchkov.haiti.context.service.simple.PagingService;
|
||||||
import dev.struchkov.haiti.utils.Assert;
|
import dev.struchkov.haiti.utils.Inspector;
|
||||||
|
|
||||||
public abstract class AbstractPagingService<T> implements PagingService<T> {
|
public abstract class AbstractPagingService<T> implements PagingService<T> {
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ public abstract class AbstractPagingService<T> implements PagingService<T> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Sheet<T> getAll(Pagination pagination) {
|
public Sheet<T> getAll(Pagination pagination) {
|
||||||
Assert.isNotNull(pagination);
|
Inspector.isNotNull(pagination);
|
||||||
return pagingOperation.findAll(pagination);
|
return pagingOperation.findAll(pagination);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,13 +8,15 @@ import dev.struchkov.haiti.context.page.Sheet;
|
|||||||
import dev.struchkov.haiti.context.repository.SimpleManagerRepository;
|
import dev.struchkov.haiti.context.repository.SimpleManagerRepository;
|
||||||
import dev.struchkov.haiti.context.service.SimpleManagerService;
|
import dev.struchkov.haiti.context.service.SimpleManagerService;
|
||||||
import dev.struchkov.haiti.core.util.ServiceOperation;
|
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.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static dev.struchkov.haiti.context.exception.NotFoundException.notFoundException;
|
||||||
|
|
||||||
public abstract class AbstractSimpleManagerService<Entity extends BasicEntity<Key>, Key> implements SimpleManagerService<Entity, Key> {
|
public abstract class AbstractSimpleManagerService<Entity extends BasicEntity<Key>, Key> implements SimpleManagerService<Entity, Key> {
|
||||||
|
|
||||||
protected final SimpleManagerRepository<Entity, Key> repository;
|
protected final SimpleManagerRepository<Entity, Key> repository;
|
||||||
@ -25,55 +27,55 @@ public abstract class AbstractSimpleManagerService<Entity extends BasicEntity<Ke
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAllById(Collection<Key> ids) {
|
public void deleteAllById(Collection<Key> ids) {
|
||||||
Assert.isNotNull(ids);
|
Inspector.isNotNull(ids);
|
||||||
ServiceOperation.deleteAllById(repository, ids);
|
ServiceOperation.deleteAllById(repository, ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Sheet<Entity> getAll(Pagination pagination) {
|
public Sheet<Entity> getAll(Pagination pagination) {
|
||||||
Assert.isNotNull(pagination);
|
Inspector.isNotNull(pagination);
|
||||||
return ServiceOperation.getAll(repository, pagination);
|
return ServiceOperation.getAll(repository, pagination);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<Entity> getById(Key id) {
|
public Optional<Entity> getById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return ServiceOperation.getById(repository, id);
|
return ServiceOperation.getById(repository, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Entity getByIdOrThrow(Key id) {
|
public Entity getByIdOrThrow(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return getById(id).orElseThrow(NotFoundException.supplier("Объект не найден. Идентификатор: ", id));
|
return getById(id).orElseThrow(notFoundException("Объект не найден. Идентификатор: ", id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean existsById(Key id) {
|
public boolean existsById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return ServiceOperation.existsById(repository, id);
|
return ServiceOperation.existsById(repository, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(Key id) {
|
public void deleteById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
ServiceOperation.deleteById(repository, id);
|
ServiceOperation.deleteById(repository, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Entity> createAll(Collection<Entity> entities) {
|
public List<Entity> createAll(Collection<Entity> entities) {
|
||||||
Assert.isNotNull(entities);
|
Inspector.isNotNull(entities);
|
||||||
return entities.stream().map(this::create).collect(Collectors.toList());
|
return entities.stream().map(this::create).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Entity> updateAll(Collection<Entity> entities) {
|
public List<Entity> updateAll(Collection<Entity> entities) {
|
||||||
Assert.isNotNull(entities);
|
Inspector.isNotNull(entities);
|
||||||
return entities.stream().map(this::update).collect(Collectors.toList());
|
return entities.stream().map(this::update).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ExistsContainer<Entity, Key> existsById(Collection<Key> ids) {
|
public ExistsContainer<Entity, Key> existsById(Collection<Key> ids) {
|
||||||
Assert.isNotNull(ids);
|
Inspector.isNotNull(ids);
|
||||||
return ServiceOperation.existsContainerById(repository, ids);
|
return ServiceOperation.existsContainerById(repository, ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ package dev.struchkov.haiti.core.service;
|
|||||||
import dev.struchkov.haiti.context.repository.simple.CrudOperation;
|
import dev.struchkov.haiti.context.repository.simple.CrudOperation;
|
||||||
import dev.struchkov.haiti.context.service.simple.SimpleService;
|
import dev.struchkov.haiti.context.service.simple.SimpleService;
|
||||||
import dev.struchkov.haiti.core.util.ServiceOperation;
|
import dev.struchkov.haiti.core.util.ServiceOperation;
|
||||||
import dev.struchkov.haiti.utils.Assert;
|
import dev.struchkov.haiti.utils.Inspector;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@ -17,19 +17,19 @@ public abstract class AbstractSimpleService<Entity, Key> implements SimpleServic
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Optional<Entity> getById(Key id) {
|
public Optional<Entity> getById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return ServiceOperation.getById(crudOperation, id);
|
return ServiceOperation.getById(crudOperation, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean existsById(Key id) {
|
public boolean existsById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
return ServiceOperation.existsById(crudOperation, id);
|
return ServiceOperation.existsById(crudOperation, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteById(Key id) {
|
public void deleteById(Key id) {
|
||||||
Assert.isNotNull(id);
|
Inspector.isNotNull(id);
|
||||||
ServiceOperation.deleteById(crudOperation, id);
|
ServiceOperation.deleteById(crudOperation, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>haiti-exception</artifactId>
|
<artifactId>haiti-exception</artifactId>
|
||||||
@ -17,8 +17,6 @@
|
|||||||
<url>https://github.com/haiti-projects/haiti-framework</url>
|
<url>https://github.com/haiti-projects/haiti-framework</url>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<skip.deploy>false</skip.deploy>
|
|
||||||
|
|
||||||
<java.version>11</java.version>
|
<java.version>11</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
@ -26,20 +24,4 @@
|
|||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -14,8 +14,12 @@ public class NotFoundException extends BasicException {
|
|||||||
super(message);
|
super(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Supplier<NotFoundException> supplier(String message, Object... objects) {
|
public NotFoundException(String message, Object... args) {
|
||||||
return () -> new NotFoundException(MessageFormat.format(message, objects));
|
super(MessageFormat.format(message, args));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Supplier<NotFoundException> notFoundException(String message, Object... args) {
|
||||||
|
return () -> new NotFoundException(message, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<artifactId>haiti-filter</artifactId>
|
<artifactId>haiti-filter</artifactId>
|
||||||
@ -17,8 +17,6 @@
|
|||||||
<url>https://github.com/haiti-projects/haiti-framework</url>
|
<url>https://github.com/haiti-projects/haiti-framework</url>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<skip.deploy>false</skip.deploy>
|
|
||||||
|
|
||||||
<java.version>11</java.version>
|
<java.version>11</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
@ -33,16 +31,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<name>Haiti Utils</name>
|
<name>Haiti Utils</name>
|
||||||
@ -17,8 +17,6 @@
|
|||||||
<version>${haiti.utils.ver}</version>
|
<version>${haiti.utils.ver}</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<skip.deploy>false</skip.deploy>
|
|
||||||
|
|
||||||
<java.version>11</java.version>
|
<java.version>11</java.version>
|
||||||
<maven.compiler.source>${java.version}</maven.compiler.source>
|
<maven.compiler.source>${java.version}</maven.compiler.source>
|
||||||
<maven.compiler.target>${java.version}</maven.compiler.target>
|
<maven.compiler.target>${java.version}</maven.compiler.target>
|
||||||
@ -33,20 +31,4 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skipNexusStagingDeployMojo>${skip.deploy}</skipNexusStagingDeployMojo>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -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<NullPointerException> nullPointer(String fieldName) {
|
|
||||||
return () -> new NullPointerException(fieldName + " is marked non-null but is null");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -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<NullPointerException> nullPointer(String fieldName) {
|
||||||
|
return () -> new NullPointerException(fieldName + " is marked non-null but is null");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -13,6 +13,7 @@ import java.util.stream.Collectors;
|
|||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
|
import static dev.struchkov.haiti.utils.Exceptions.utilityClass;
|
||||||
|
import static dev.struchkov.haiti.utils.Inspector.isNotNull;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Утилитарный класс для работы с классами и объектами.
|
* Утилитарный класс для работы с классами и объектами.
|
||||||
@ -37,8 +38,8 @@ public class ObjectUtils {
|
|||||||
* @return Значение поля из объекта
|
* @return Значение поля из объекта
|
||||||
*/
|
*/
|
||||||
public static Object getFieldValue(Object object, String fieldName) {
|
public static Object getFieldValue(Object object, String fieldName) {
|
||||||
Assert.isNotNull(object, fieldName);
|
isNotNull(object, fieldName);
|
||||||
int firstNameIndex = fieldName.indexOf(".");
|
final int firstNameIndex = fieldName.indexOf(".");
|
||||||
String firstName;
|
String firstName;
|
||||||
if (firstNameIndex != -1) {
|
if (firstNameIndex != -1) {
|
||||||
firstName = fieldName.substring(0, firstNameIndex);
|
firstName = fieldName.substring(0, firstNameIndex);
|
||||||
@ -63,8 +64,8 @@ public class ObjectUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void setFieldValue(Object object, String fieldName, Object fieldValue) {
|
public static void setFieldValue(Object object, String fieldName, Object fieldValue) {
|
||||||
Assert.isNotNull(object, fieldName);
|
isNotNull(object, fieldName);
|
||||||
int firstNameIndex = fieldName.indexOf(".");
|
final int firstNameIndex = fieldName.indexOf(".");
|
||||||
if (firstNameIndex != -1) {
|
if (firstNameIndex != -1) {
|
||||||
final String[] split = fieldName.split("\\.");
|
final String[] split = fieldName.split("\\.");
|
||||||
final String fieldNameToObject = String.join(".", Arrays.copyOf(split, split.length - 1));
|
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) {
|
private static Object convertFieldValue(Object fieldValue, Class<?> parameterType) {
|
||||||
@ -124,7 +125,7 @@ public class ObjectUtils {
|
|||||||
* @return true если метод является геттером для fieldName, false в противном случае
|
* @return true если метод является геттером для fieldName, false в противном случае
|
||||||
*/
|
*/
|
||||||
public static boolean isGetMethod(String fieldName, Method method) {
|
public static boolean isGetMethod(String fieldName, Method method) {
|
||||||
Assert.isNotNull(fieldName);
|
isNotNull(fieldName);
|
||||||
return (method.getName().startsWith("get"))
|
return (method.getName().startsWith("get"))
|
||||||
&& (method.getName().length() == (fieldName.length() + 3))
|
&& (method.getName().length() == (fieldName.length() + 3))
|
||||||
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
|
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
|
||||||
@ -138,7 +139,7 @@ public class ObjectUtils {
|
|||||||
* @return true если метод является сеттером для fieldName, false в противном случае
|
* @return true если метод является сеттером для fieldName, false в противном случае
|
||||||
*/
|
*/
|
||||||
public static boolean isSetMethod(String fieldName, Method method) {
|
public static boolean isSetMethod(String fieldName, Method method) {
|
||||||
Assert.isNotNull(fieldName);
|
isNotNull(fieldName);
|
||||||
return (method.getName().startsWith("set"))
|
return (method.getName().startsWith("set"))
|
||||||
&& (method.getName().length() == (fieldName.length() + 3))
|
&& (method.getName().length() == (fieldName.length() + 3))
|
||||||
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
|
&& method.getName().toLowerCase().endsWith(fieldName.toLowerCase());
|
||||||
|
30
pom.xml
30
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti</artifactId>
|
<artifactId>haiti</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${revision}</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
|
|
||||||
<name>Haiti Framework</name>
|
<name>Haiti Framework</name>
|
||||||
@ -39,14 +39,16 @@
|
|||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
|
|
||||||
<haiti.bom.ver>1.0.0</haiti.bom.ver>
|
<revision>1.0.1</revision>
|
||||||
<haiti.exception.ver>1.0.0</haiti.exception.ver>
|
|
||||||
<haiti.context.ver>1.0.0</haiti.context.ver>
|
<haiti.bom.ver>${revision}</haiti.bom.ver>
|
||||||
<haiti.core.ver>1.0.0</haiti.core.ver>
|
<haiti.exception.ver>${revision}</haiti.exception.ver>
|
||||||
<haiti.filter.api.ver>1.0.0</haiti.filter.api.ver>
|
<haiti.context.ver>${revision}</haiti.context.ver>
|
||||||
<haiti.filter.criteria.ver>1.0.0</haiti.filter.criteria.ver>
|
<haiti.core.ver>${revision}</haiti.core.ver>
|
||||||
<haiti.database.ver>1.0.0</haiti.database.ver>
|
<haiti.filter.api.ver>${revision}</haiti.filter.api.ver>
|
||||||
<haiti.utils.ver>1.0.0</haiti.utils.ver>
|
<haiti.filter.criteria.ver>${revision}</haiti.filter.criteria.ver>
|
||||||
|
<haiti.database.ver>${revision}</haiti.database.ver>
|
||||||
|
<haiti.utils.ver>${revision}</haiti.utils.ver>
|
||||||
|
|
||||||
<plugin.maven.compiler.ver>3.9.0</plugin.maven.compiler.ver>
|
<plugin.maven.compiler.ver>3.9.0</plugin.maven.compiler.ver>
|
||||||
<plugin.nexus.staging.ver>1.6.8</plugin.nexus.staging.ver>
|
<plugin.nexus.staging.ver>1.6.8</plugin.nexus.staging.ver>
|
||||||
@ -60,7 +62,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>dev.struchkov.haiti</groupId>
|
<groupId>dev.struchkov.haiti</groupId>
|
||||||
<artifactId>haiti-bom</artifactId>
|
<artifactId>haiti-bom</artifactId>
|
||||||
<version>1.0.0</version>
|
<version>${haiti.bom.ver}</version>
|
||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
@ -138,6 +140,14 @@
|
|||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-source-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user