public abstract class DataAccessUtils extends Object
Useful with any data access technology.
Constructor and Description |
---|
DataAccessUtils() |
Modifier and Type | Method and Description |
---|---|
static int |
intResult(Collection<?> results)
Return a unique int result from the given Collection.
|
static long |
longResult(Collection<?> results)
Return a unique long result from the given Collection.
|
static <T> T |
nullableSingleResult(Collection<T> results)
Return a single result object from the given Collection.
|
static <T> T |
objectResult(Collection<?> results,
Class<T> requiredType)
Return a unique result object from the given Collection.
|
static <T> T |
requiredSingleResult(Collection<T> results)
Return a single result object from the given Collection.
|
static <T> T |
requiredUniqueResult(Collection<T> results)
Return a unique result object from the given Collection.
|
static <T> T |
singleResult(Collection<T> results)
Return a single result object from the given Collection.
|
static RuntimeException |
translateIfNecessary(RuntimeException rawException,
PersistenceExceptionTranslator pet)
Return a translated exception if this is appropriate,
otherwise return the given exception as-is.
|
static <T> T |
uniqueResult(Collection<T> results)
Return a unique result object from the given Collection.
|
@Nullable public static <T> T singleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException
Returns null
if 0 result objects found;
throws an exception if more than 1 element found.
results
- the result Collection (can be null
)null
if noneIncorrectResultSizeDataAccessException
- if more than one
element has been found in the given Collectionpublic static <T> T requiredSingleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException
Throws an exception if 0 or more than 1 element found.
results
- the result Collection (can be null
but is not expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
element has been found in the given CollectionEmptyResultDataAccessException
- if no element at all
has been found in the given Collection@Nullable public static <T> T nullableSingleResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException
Throws an exception if 0 or more than 1 element found.
results
- the result Collection (can be null
and is also expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
element has been found in the given CollectionEmptyResultDataAccessException
- if no element at all
has been found in the given Collection@Nullable public static <T> T uniqueResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException
Returns null
if 0 result objects found;
throws an exception if more than 1 instance found.
results
- the result Collection (can be null
)null
if noneIncorrectResultSizeDataAccessException
- if more than one
result object has been found in the given CollectionCollectionUtils.hasUniqueObject(java.util.Collection<?>)
public static <T> T requiredUniqueResult(@Nullable Collection<T> results) throws IncorrectResultSizeDataAccessException
Throws an exception if 0 or more than 1 instance found.
results
- the result Collection (can be null
but is not expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
result object has been found in the given CollectionEmptyResultDataAccessException
- if no result object at all
has been found in the given CollectionCollectionUtils.hasUniqueObject(java.util.Collection<?>)
public static <T> T objectResult(@Nullable Collection<?> results, @Nullable Class<T> requiredType) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException
results
- the result Collection (can be null
but is not expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
result object has been found in the given CollectionEmptyResultDataAccessException
- if no result object
at all has been found in the given CollectionTypeMismatchDataAccessException
- if the unique object does
not match the specified required typepublic static int intResult(@Nullable Collection<?> results) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException
results
- the result Collection (can be null
but is not expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
result object has been found in the given CollectionEmptyResultDataAccessException
- if no result object
at all has been found in the given CollectionTypeMismatchDataAccessException
- if the unique object
in the collection is not convertible to an intpublic static long longResult(@Nullable Collection<?> results) throws IncorrectResultSizeDataAccessException, TypeMismatchDataAccessException
results
- the result Collection (can be null
but is not expected to contain null
elements)IncorrectResultSizeDataAccessException
- if more than one
result object has been found in the given CollectionEmptyResultDataAccessException
- if no result object
at all has been found in the given CollectionTypeMismatchDataAccessException
- if the unique object
in the collection is not convertible to a longpublic static RuntimeException translateIfNecessary(RuntimeException rawException, PersistenceExceptionTranslator pet)
rawException
- an exception that we may wish to translatepet
- the PersistenceExceptionTranslator to use to perform the translation