#2419 - Add explicit @Nullable on findOne() methods

This commit is contained in:
Rob Bygrave committed 2021-10-19 11:50:22 +13:00
1 parent fa252a1fe4
commit 7862648b83
4 files changed
+11 -2

No files matched your search

@@ -16,6 +16,7 @@ import io.ebeaninternal.server.deploy.BeanDescriptor;
import io.ebeaninternal.server.query.CQuery;
import io.ebeaninternal.server.transaction.RemoteTransactionEvent;
import javax.annotation.Nullable;
import java.util.List;
import java.util.function.Consumer;
import java.util.function.Predicate;
@@ -257,6 +258,7 @@ public interface SpiEbeanServer extends SpiServer, ExtendedServer, EbeanServer,
/**
* DTO findOne query.
*/
@Nullable
<T> T findDtoOne(SpiDtoQuery<T> query);
/**
@@ -102,6 +102,7 @@ import io.ebeanservice.docstore.api.DocStoreIntegration;
import org.slf4j.Logger;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.persistence.NonUniqueResultException;
import javax.persistence.OptimisticLockException;
import javax.persistence.PersistenceException;
@@ -497,7 +498,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
return new DefaultBeanState((EntityBean) bean);
}
// Not an entity bean
return null;
return null; // throw new IllegalArgumentException("Bean is not an entity bean");
}
/**
@@ -1087,6 +1088,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
/**
* Try to get the object out of the persistence context.
*/
@Nullable
@SuppressWarnings("unchecked")
private <T> T findIdCheckPersistenceContextAndCache(Transaction transaction, SpiQuery<T> query, Object id) {
SpiTransaction t = (SpiTransaction) transaction;
@@ -1164,6 +1166,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
return Optional.ofNullable(findOne(query, transaction));
}
@Nullable
@Override
public <T> T findOne(Query<T> query, Transaction transaction) {
SpiQuery<T> spiQuery = (SpiQuery<T>) query;
@@ -1179,6 +1182,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
return extractUnique(list);
}
@Nullable
private <T> T extractUnique(List<T> list) {
if (list.isEmpty()) {
return null;
@@ -1514,6 +1518,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
}
@Nullable
@Override
public SqlRow findOne(SqlQuery query, Transaction t) {
// no findId() method for SqlQuery...
@@ -1657,6 +1662,7 @@ public final class DefaultServer implements SpiServer, SpiEbeanServer {
}
}
@Nullable
@Override
public <T> T findDtoOne(SpiDtoQuery<T> query) {
DtoQueryRequest<T> request = new DtoQueryRequest<>(this, dtoQueryEngine, query);
@@ -12,6 +12,7 @@ import io.ebeaninternal.server.dto.DtoBeanDescriptor;
import io.ebeaninternal.server.dto.DtoMappingRequest;
import io.ebeaninternal.server.dto.DtoQueryPlan;
import javax.annotation.Nullable;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
@@ -114,6 +115,7 @@ public final class DefaultDtoQuery<T> extends AbstractQuery implements SpiDtoQue
return server.findDtoList(this);
}
@Nullable
@Override
public T findOne() {
return server.findDtoOne(this);