mirror of
https://github.com/spring-projects/spring-data-commons.git
synced 2026-05-03 03:34:35 +01:00
Fix Javadoc.
Fix invalid links. Replace Javadoc links to JSR-305 with code annotations. Replace self-enclosing tags with simple ones. See #2423
This commit is contained in:
@@ -21,7 +21,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.CONSTRUCTOR)
|
||||
|
||||
@@ -15,8 +15,6 @@
|
||||
*/
|
||||
package org.springframework.data.auditing;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.data.mapping.PersistentEntity;
|
||||
import org.springframework.data.mapping.PersistentProperty;
|
||||
import org.springframework.data.mapping.context.MappingContext;
|
||||
@@ -26,8 +24,8 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* {@link AuditingHandler} extension that uses {@link PersistentEntity#isNew(Object)} to expose a generic
|
||||
* {@link #markAudited(Optional)} method that will route calls to {@link #markCreated(Optional)} or
|
||||
* {@link #markModified(Optional)} based on the {@link IsNewStrategy} determined from the factory.
|
||||
* {@link #markAudited(Object)} method that will route calls to {@link #markCreated(Object)} or
|
||||
* {@link #markModified(Object)} based on the {@link IsNewStrategy} determined from the factory.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
* @author Christoph Strobl
|
||||
@@ -65,7 +63,7 @@ public class IsNewAwareAuditingHandler extends AuditingHandler {
|
||||
|
||||
/**
|
||||
* Marks the given object created or modified based on {@link PersistentEntity#isNew(Object)}. Will route the calls to
|
||||
* {@link #markCreated(Optional)} and {@link #markModified(Optional)} accordingly.
|
||||
* {@link #markCreated(Object)} and {@link #markModified(Object)} accordingly.
|
||||
*
|
||||
* @param object must not be {@literal null}.
|
||||
*/
|
||||
|
||||
@@ -402,7 +402,7 @@ public class Sort implements Streamable<org.springframework.data.domain.Sort.Ord
|
||||
*
|
||||
* @param direction can be {@literal null}, will default to {@link Sort#DEFAULT_DIRECTION}
|
||||
* @param property must not be {@literal null} or empty.
|
||||
* @param nullHandling must not be {@literal null}.
|
||||
* @param nullHandlingHint must not be {@literal null}.
|
||||
*/
|
||||
public Order(@Nullable Direction direction, String property, NullHandling nullHandlingHint) {
|
||||
this(direction, property, DEFAULT_IGNORE_CASE, nullHandlingHint);
|
||||
|
||||
@@ -108,7 +108,6 @@ public abstract class SpringDataJaxb {
|
||||
* @param source
|
||||
* @param adapter must not be {@literal null}.
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static <T, S> List<T> unmarshal(Collection<S> source, XmlAdapter<S, T> adapter) {
|
||||
|
||||
@@ -136,7 +135,6 @@ public abstract class SpringDataJaxb {
|
||||
* @param source
|
||||
* @param adapter must not be {@literal null}.
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static <T, S> List<S> marshal(@Nullable Iterable<T> source, XmlAdapter<S, T> adapter) {
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ public class GeoPage<T> extends PageImpl<GeoResult<T>> {
|
||||
/**
|
||||
* Creates a new {@link GeoPage} from the given {@link GeoResults}.
|
||||
*
|
||||
* @param content must not be {@literal null}.
|
||||
* @param results must not be {@literal null}.
|
||||
*/
|
||||
public GeoPage(GeoResults<T> results) {
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.util.StringUtils;
|
||||
/**
|
||||
* Converter to create {@link Distance} instances from {@link String} representations. The supported format is a decimal
|
||||
* followed by whitespace and a metric abbreviation. We currently support the following abbreviations:
|
||||
* {@value #SUPPORTED_METRICS}.
|
||||
* {@link #SUPPORTED_METRICS}.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
* @author Christoph Strobl
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.springframework.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
* A {@link RevisionMetadata} implementation that inspects the given object for fields with the configured annotations
|
||||
* and returns the field's values on calls to {@link #getRevisionDate()}, {@link #getRevisionInstant()} and
|
||||
* and returns the field's values on calls to {@link #getRevisionInstant()}, {@link #getRevisionInstant()} and
|
||||
* {@link #getRevisionNumber()}.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
|
||||
@@ -22,10 +22,10 @@ import org.springframework.util.ObjectUtils;
|
||||
/**
|
||||
* A container object which may or may not contain a type alias value. If a value is present, {@code isPresent()} will
|
||||
* return {@code true} and {@link #getValue()} will return the value.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Additional methods that depend on the presence or absence of a contained value are provided, such as
|
||||
* {@link #hasValue(Object)} or {@link #isPresent()}
|
||||
* <p/>
|
||||
* <p>
|
||||
* Aliases are immutable once created.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.springframework.lang.Nullable;
|
||||
* Value object to capture {@link Association}s.
|
||||
*
|
||||
* @param <P> {@link PersistentProperty}s the association connects.
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
* @author Mark Paluch
|
||||
*/
|
||||
public class Association<P extends PersistentProperty<P>> {
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.springframework.data.mapping;
|
||||
/**
|
||||
* Callback interface to implement functionality to be applied to a collection of {@link Association}s.
|
||||
*
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
public interface AssociationHandler<P extends PersistentProperty<P>> {
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.springframework.data.mapping;
|
||||
import org.springframework.lang.Nullable;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
public class MappingException extends RuntimeException {
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ public interface PersistentProperty<P extends PersistentProperty<P>> {
|
||||
/**
|
||||
* Returns the with {@link Method} to set a property value on a new object instance. Might return {@literal null} in
|
||||
* case there is no with available.
|
||||
* <p/>
|
||||
* <p>
|
||||
* With {@link Method methods} are property-bound instance {@link Method methods} that accept a single argument of the
|
||||
* property type creating a new object instance.
|
||||
*
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.springframework.util.Assert;
|
||||
* Domain service to allow accessing and setting {@link PersistentProperty}s of an entity. Usually obtained through
|
||||
* {@link PersistentEntity#getPropertyAccessor(Object)}. In case type conversion shall be applied on property access,
|
||||
* use a {@link ConvertingPropertyAccessor}.
|
||||
* <p />
|
||||
* <p>
|
||||
* This service supports mutation for immutable classes by creating new object instances. These are managed as state of
|
||||
* {@link PersistentPropertyAccessor} and must be obtained from {@link #getBean()} after processing all updates.
|
||||
*
|
||||
|
||||
@@ -61,7 +61,7 @@ public interface PersistentPropertyPathAccessor<T> extends PersistentPropertyAcc
|
||||
*
|
||||
* @param path must not be {@literal null} or empty.
|
||||
* @param value can be {@literal null}.
|
||||
* @see AccessOptions#DEFAULT
|
||||
* @see AccessOptions#defaultSetOptions()
|
||||
*/
|
||||
void setProperty(PersistentPropertyPath<? extends PersistentProperty<?>> path, @Nullable Object value);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ package org.springframework.data.mapping;
|
||||
* Callback interface to do something with all plain {@link PersistentProperty} instances <em>except</em> associations
|
||||
* and transient properties.
|
||||
*
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
public interface PropertyHandler<P extends PersistentProperty<P>> {
|
||||
|
||||
|
||||
@@ -19,29 +19,28 @@ package org.springframework.data.mapping.callback;
|
||||
* Marker interface for entity callbacks to be implemented in specific callback subtypes. Intended for internal usage
|
||||
* within store specific implementations.
|
||||
* <h3>Ordering {@link EntityCallback}</h3>
|
||||
* <p/>
|
||||
* <p>
|
||||
* Multiple entity callbacks are invoked sequentially with the result of the previous callback. Callbacks are unordered
|
||||
* by default. It is possible to define the order in which listeners for a certain domain type are to be invoked. To do
|
||||
* so, add Spring's common {@link org.springframework.core.annotation.Order @Order} annotation or implement
|
||||
* {@link org.springframework.core.Ordered}.
|
||||
* <h3>Exception Handling</h3>
|
||||
* <p />
|
||||
* <p>
|
||||
* While it is possible for a {@link EntityCallback} to declare that it throws arbitrary exception types, any checked
|
||||
* exceptions thrown from a {@link EntityCallback} are wrapped in an
|
||||
* {@link java.lang.reflect.UndeclaredThrowableException UndeclaredThrowableException} since the callback mechanism can
|
||||
* only handle runtime exceptions. Entity callback processing is stopped on the {@link EntityCallback} that raised an
|
||||
* exception and the caused exception is propagated to the caller.
|
||||
* <h3>Domain Type Binding</h3>
|
||||
* <p />
|
||||
* <p>
|
||||
* An {@link EntityCallback} can generically declare the domain type that it is able to process by specifying the
|
||||
* generic type parameter {@code <T>}. When registered with a Spring
|
||||
* {@link org.springframework.context.ApplicationContext}, callbacks are filtered accordingly, with the callback getting
|
||||
* invoked for assignable domain objects only.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Typically, entity callbacks are invoked after publishing {@link org.springframework.context.ApplicationEvent events}.
|
||||
* <p/>
|
||||
* <h3>Defining {@link EntityCallback} Interfaces</h3>
|
||||
* <p />
|
||||
* <p>
|
||||
* A {@link EntityCallback} interface needs to define a callback method accepting an object of the parameterized type as
|
||||
* its first argument followed by additional <i>optional</i> arguments.
|
||||
*
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ class EntityCallbackDiscoverer {
|
||||
|
||||
/**
|
||||
* Create a new {@link EntityCallback} instance.
|
||||
* <p />
|
||||
* <p>
|
||||
* Pre loads {@link EntityCallback} beans by scanning the {@link BeanFactory}.
|
||||
*/
|
||||
EntityCallbackDiscoverer(BeanFactory beanFactory) {
|
||||
|
||||
@@ -72,7 +72,7 @@ public interface EntityCallbacks {
|
||||
|
||||
/**
|
||||
* Obtain a new {@link EntityCallbacks} instance.
|
||||
* <p />
|
||||
* <p>
|
||||
* {@link EntityCallback callbacks} are pre loaded from the given {@link BeanFactory}. <br />
|
||||
* Use {@link #addEntityCallback(EntityCallback)} to register additional callbacks manually.
|
||||
*
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ public interface ReactiveEntityCallbacks {
|
||||
|
||||
/**
|
||||
* Obtain a new {@link ReactiveEntityCallbacks} instance.
|
||||
* <p />
|
||||
* <p>
|
||||
* {@link EntityCallback callbacks} are pre loaded from the given {@link BeanFactory}. <br />
|
||||
* Use {@link #addEntityCallback(EntityCallback)} to register additional callbacks manually.
|
||||
*
|
||||
|
||||
@@ -479,7 +479,6 @@ public abstract class AbstractMappingContext<E extends MutablePersistentEntity<?
|
||||
* default this will reject all types considered simple and non-supported Kotlin classes, but it might be necessary to
|
||||
* tweak that in case you have registered custom converters for top level types (which renders them to be considered
|
||||
* simple) but still need meta-information about them.
|
||||
* <p/>
|
||||
*
|
||||
* @param type will never be {@literal null}.
|
||||
* @return
|
||||
|
||||
+1
-2
@@ -49,8 +49,7 @@ public class InvalidPersistentPropertyPath extends MappingException {
|
||||
*
|
||||
* @param source must not be {@literal null}.
|
||||
* @param unresolvableSegment must not be {@literal null} or empty.
|
||||
* @param resolvedPath
|
||||
* @param message must not be {@literal null} or empty.
|
||||
* @param resolvedPath must not be {@literal null} or empty.
|
||||
*/
|
||||
public InvalidPersistentPropertyPath(String source, TypeInformation<?> type, String unresolvableSegment,
|
||||
PersistentPropertyPath<? extends PersistentProperty<?>> resolvedPath) {
|
||||
|
||||
+1
-1
@@ -159,7 +159,7 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta
|
||||
* <li>{@code DefaultConstructorMarker} (usually null)</li>
|
||||
* </ul>
|
||||
* <strong>Defaulting bitmask</strong>
|
||||
* <p/>
|
||||
* <p>
|
||||
* The defaulting bitmask is a 32 bit integer representing which positional argument should be defaulted. Defaulted
|
||||
* arguments are passed as {@literal null} and require the appropriate positional bit set ( {@code 1 << 2} for the 2.
|
||||
* argument)). Since the bitmask represents only 32 bit states, it requires additional masks (slots) if more than 32
|
||||
|
||||
@@ -136,7 +136,7 @@ public class QuerydslBindings {
|
||||
/**
|
||||
* Include properties for binding. Include the property considered a binding candidate.
|
||||
*
|
||||
* @param properties must not be {@literal null} or empty.
|
||||
* @param paths must not be {@literal null} or empty.
|
||||
*/
|
||||
public final void including(Path<?>... paths) {
|
||||
|
||||
@@ -388,7 +388,6 @@ public class QuerydslBindings {
|
||||
* Defines the given {@link SingleValueBinding} to be used for the paths.
|
||||
*
|
||||
* @param binding must not be {@literal null}.
|
||||
* @return
|
||||
*/
|
||||
public void firstOptional(OptionalValueBinding<P, T> binding) {
|
||||
|
||||
@@ -407,7 +406,6 @@ public class QuerydslBindings {
|
||||
* Defines the given {@link MultiValueBinding} to be used for the paths.
|
||||
*
|
||||
* @param binding must not be {@literal null}.
|
||||
* @return
|
||||
*/
|
||||
public void all(MultiValueBinding<P, T> binding) {
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.lang.annotation.Target;
|
||||
/**
|
||||
* Annotation to exclude repository interfaces from being picked up and thus in consequence getting an instance being
|
||||
* created.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This will typically be used when providing an extended base interface for all repositories in combination with a
|
||||
* custom repository base class to implement methods declared in that intermediate interface. In this case you typically
|
||||
* derive your concrete repository interfaces from the intermediate one but don't want to create a Spring bean for the
|
||||
|
||||
+2
-3
@@ -34,8 +34,7 @@ import org.springframework.util.Assert;
|
||||
* configured with a {@link ImplementationDetectionConfiguration} at construction time, the necessary component scan is
|
||||
* executed on first access, cached and its result is the filtered on every further implementation lookup according to
|
||||
* the given {@link ImplementationDetectionConfiguration}. If none is given initially, every invocation to
|
||||
* {@link #detectCustomImplementation(String, String, ImplementationDetectionConfiguration)} will issue a new component
|
||||
* scan.
|
||||
* {@link #detectCustomImplementation(ImplementationLookupConfiguration)} will issue a new component scan.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
* @author Mark Paluch
|
||||
@@ -57,7 +56,7 @@ public class CustomRepositoryImplementationDetector {
|
||||
* Creates a new {@link CustomRepositoryImplementationDetector} with the given {@link Environment},
|
||||
* {@link ResourceLoader} and {@link ImplementationDetectionConfiguration}. The latter will be registered for a
|
||||
* one-time component scan for implementation candidates that will the be used and filtered in all subsequent calls to
|
||||
* {@link #detectCustomImplementation(RepositoryConfiguration)}.
|
||||
* {@link #detectCustomImplementation(ImplementationLookupConfiguration)}.
|
||||
*
|
||||
* @param environment must not be {@literal null}.
|
||||
* @param resourceLoader must not be {@literal null}.
|
||||
|
||||
+2
-2
@@ -33,8 +33,8 @@ import org.w3c.dom.Element;
|
||||
|
||||
/**
|
||||
* Base class to implement repository namespaces. These will typically consist of a main XML element potentially having
|
||||
* child elements. The parser will wrap the XML element into a {@link GlobalRepositoryConfigInformation} object and
|
||||
* allow either manual configuration or automatic detection of repository interfaces.
|
||||
* child elements. The parser will wrap the XML element into a {@link XmlRepositoryConfigurationSource} object and allow
|
||||
* either manual configuration or automatic detection of repository interfaces.
|
||||
*
|
||||
* @author Oliver Gierke
|
||||
*/
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@ public interface RepositoryConfigurationExtension {
|
||||
* repositories bean definitions have been registered.
|
||||
*
|
||||
* @param registry
|
||||
* @param source
|
||||
* @param configurationSource
|
||||
*/
|
||||
void registerBeansForRoot(BeanDefinitionRegistry registry, RepositoryConfigurationSource configurationSource);
|
||||
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ import org.springframework.util.ObjectUtils;
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @since 2.0
|
||||
* @see javax.annotation.Nonnull
|
||||
* @see org.springframework.lang.NonNull
|
||||
* @see ReflectionUtils#isNullable(MethodParameter)
|
||||
* @see NullableUtils
|
||||
*/
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.springframework.util.ObjectUtils;
|
||||
/**
|
||||
* Strategy interface providing {@link MethodPredicate predicates} to resolve a method called on a composite to its
|
||||
* implementation method.
|
||||
* <p />
|
||||
* <p>
|
||||
* {@link MethodPredicate Predicates} are ordered by filtering priority and applied individually. If a predicate does
|
||||
* not yield any positive match, the next predicate is applied.
|
||||
*
|
||||
|
||||
@@ -65,7 +65,7 @@ interface MethodLookups {
|
||||
|
||||
/**
|
||||
* Repository type-aware method lookup composed of {@link #direct()} and {@link RepositoryAwareMethodLookup}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Repository-aware lookups resolve generic types from the repository declaration to verify assignability to Id/domain
|
||||
* types. This lookup also permits assignable method signatures but prefers {@link #direct()} matches.
|
||||
*
|
||||
@@ -79,7 +79,7 @@ interface MethodLookups {
|
||||
|
||||
/**
|
||||
* Repository type-aware method lookup composed of {@link #direct()} and {@link ReactiveTypeInteropMethodLookup}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This method lookup considers adaptability of reactive types in method signatures. Repository methods accepting a
|
||||
* reactive type can be possibly called with a different reactive type if the reactive type can be adopted to the
|
||||
* target type. This lookup also permits assignable method signatures and resolves repository id/entity types but
|
||||
|
||||
+1
-1
@@ -64,7 +64,7 @@ public abstract class ReactiveRepositoryFactorySupport extends RepositoryFactory
|
||||
* queries.
|
||||
*
|
||||
* @param evaluationContextProvider can be {@literal null}, defaults to
|
||||
* {@link ReactiveQueryMethodEvaluationContextProvider#INSTANCE}.
|
||||
* {@link ReactiveQueryMethodEvaluationContextProvider#DEFAULT}.
|
||||
*/
|
||||
@Override
|
||||
public void setEvaluationContextProvider(QueryMethodEvaluationContextProvider evaluationContextProvider) {
|
||||
|
||||
+7
-7
@@ -45,17 +45,17 @@ import org.springframework.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
* Composite implementation to back repository method implementations.
|
||||
* <p />
|
||||
* <p>
|
||||
* A {@link RepositoryComposition} represents an ordered collection of {@link RepositoryFragment fragments}. Each
|
||||
* fragment contributes executable method signatures that are used by this composition to route method calls into the
|
||||
* according {@link RepositoryFragment}.
|
||||
* <p />
|
||||
* <p>
|
||||
* Fragments are allowed to contribute multiple implementations for a single method signature exposed through the
|
||||
* repository interface. {@link #withMethodLookup(MethodLookup) MethodLookup} selects the first matching method for
|
||||
* invocation. A composition also supports argument conversion between the repository method signature and fragment
|
||||
* implementation method through {@link #withArgumentConverter(BiFunction)}. Use argument conversion with a single
|
||||
* implementation method that can be exposed accepting convertible types.
|
||||
* <p />
|
||||
* <p>
|
||||
* Composition objects are immutable and thread-safe.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
@@ -144,7 +144,7 @@ public class RepositoryComposition {
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a {@link RepositoryComposition} for just a single {@code implementation} with {@link MethodLookups#direct())
|
||||
* Create a {@link RepositoryComposition} for just a single {@code implementation} with {@code MethodLookups#direct()}
|
||||
* method lookup.
|
||||
*
|
||||
* @param implementation must not be {@literal null}.
|
||||
@@ -157,7 +157,7 @@ public class RepositoryComposition {
|
||||
|
||||
/**
|
||||
* Create a {@link RepositoryComposition} from {@link RepositoryFragment fragments} with
|
||||
* {@link MethodLookups#direct()) method lookup.
|
||||
* {@code MethodLookups#direct()} method lookup.
|
||||
*
|
||||
* @param fragments must not be {@literal null}.
|
||||
* @return the {@link RepositoryComposition} from {@link RepositoryFragment fragments}.
|
||||
@@ -168,7 +168,7 @@ public class RepositoryComposition {
|
||||
|
||||
/**
|
||||
* Create a {@link RepositoryComposition} from {@link RepositoryFragment fragments} with
|
||||
* {@link MethodLookups#direct()) method lookup.
|
||||
* {@code MethodLookups#direct()} method lookup.
|
||||
*
|
||||
* @param fragments must not be {@literal null}.
|
||||
* @return the {@link RepositoryComposition} from {@link RepositoryFragment fragments}.
|
||||
@@ -180,7 +180,7 @@ public class RepositoryComposition {
|
||||
|
||||
/**
|
||||
* Create a {@link RepositoryComposition} from {@link RepositoryFragments} and {@link RepositoryMetadata} with
|
||||
* {@link MethodLookups#direct()) method lookup.
|
||||
* {@code MethodLookups#direct()} method lookup.
|
||||
*
|
||||
* @param fragments must not be {@literal null}.
|
||||
* @return the {@link RepositoryComposition} from {@link RepositoryFragments fragments}.
|
||||
|
||||
+1
-1
@@ -160,7 +160,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware,
|
||||
* queries.
|
||||
*
|
||||
* @param evaluationContextProvider can be {@literal null}, defaults to
|
||||
* {@link QueryMethodEvaluationContextProvider#INSTANCE}.
|
||||
* {@link QueryMethodEvaluationContextProvider#DEFAULT}.
|
||||
*/
|
||||
public void setEvaluationContextProvider(QueryMethodEvaluationContextProvider evaluationContextProvider) {
|
||||
this.evaluationContextProvider = evaluationContextProvider == null ? QueryMethodEvaluationContextProvider.DEFAULT
|
||||
|
||||
+4
-4
@@ -27,17 +27,17 @@ import org.springframework.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
* Value object representing a repository fragment.
|
||||
* <p />
|
||||
* <p>
|
||||
* Repository fragments are individual parts that contribute method signatures. They are used to form a
|
||||
* {@link RepositoryComposition}. Fragments can be purely structural or backed with an implementation.
|
||||
* <p/>
|
||||
* <p>
|
||||
* {@link #structural(Class) Structural} fragments are not backed by an implementation and are primarily used to
|
||||
* discover the structure of a repository composition and to perform validations.
|
||||
* <p/>
|
||||
* <p>
|
||||
* {@link #implemented(Object) Implemented} repository fragments consist of a signature contributor and the implementing
|
||||
* object. A signature contributor may be {@link #implemented(Class, Object) an interface} or
|
||||
* {@link #implemented(Object) just the implementing object} providing the available signatures for a repository.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Fragments are immutable.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.util.Assert;
|
||||
* @author Gerrit Meier
|
||||
* @author Oliver Gierke
|
||||
* @since 2.1
|
||||
* @see SpelQueryContext#parse(String, Parameters)
|
||||
* @see SpelQueryContext#parse(String)
|
||||
*/
|
||||
public class SpelEvaluator {
|
||||
|
||||
@@ -53,7 +53,7 @@ public class SpelEvaluator {
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluate all the SpEL expressions in {@link #parameterNameToSpelMap} based on values provided as an argument.
|
||||
* Evaluate all the SpEL expressions in {@link SpelExtractor} based on values provided as an argument.
|
||||
*
|
||||
* @param values Parameter values. Must not be {@literal null}.
|
||||
* @return a map from parameter name to evaluated value. Guaranteed to be not {@literal null}.
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public abstract class PageableExecutionUtils {
|
||||
private PageableExecutionUtils() {}
|
||||
|
||||
/**
|
||||
* Constructs a {@link Page} based on the given {@code content}, {@link Pageable} and {@link Supplier} applying
|
||||
* Constructs a {@link Page} based on the given {@code content}, {@link Pageable} and {@link LongSupplier} applying
|
||||
* optimizations. The construction of {@link Page} omits a count query if the total can be determined based on the
|
||||
* result size and {@link Pageable}.
|
||||
*
|
||||
|
||||
@@ -72,7 +72,7 @@ public interface RepositoryInvoker extends RepositoryInvocationInformation {
|
||||
* {@link org.springframework.data.repository.PagingAndSortingRepository#findAll(Sort)}) or the plain equivalent to
|
||||
* {@link org.springframework.data.repository.CrudRepository#findAll()}.
|
||||
*
|
||||
* @param pageable can be {@literal null}.
|
||||
* @param sort can be {@literal null}.
|
||||
* @return the result of the invocation of the find-all method.
|
||||
* @throws IllegalStateException if the repository does not expose a find-all-method.
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,7 @@ public abstract class PageableExecutionUtils {
|
||||
private PageableExecutionUtils() {}
|
||||
|
||||
/**
|
||||
* Constructs a {@link Page} based on the given {@code content}, {@link Pageable} and {@link Supplier} applying
|
||||
* Constructs a {@link Page} based on the given {@code content}, {@link Pageable} and {@link LongSupplier} applying
|
||||
* optimizations. The construction of {@link Page} omits a count query if the total can be determined based on the
|
||||
* result size and {@link Pageable}.
|
||||
*
|
||||
|
||||
@@ -39,12 +39,12 @@ import org.springframework.util.Assert;
|
||||
* {@link PlatformTransactionManager} implementation that orchestrates transaction creation, commits and rollbacks to a
|
||||
* list of delegates. Using this implementation assumes that errors causing a transaction rollback will usually happen
|
||||
* before the transaction completion or during the commit of the most inner {@link PlatformTransactionManager}.
|
||||
* <p />
|
||||
* <p>
|
||||
* The configured instances will start transactions in the order given and commit/rollback in <em>reverse</em> order,
|
||||
* which means the {@link PlatformTransactionManager} most likely to break the transaction should be the <em>last</em>
|
||||
* in the list configured. A {@link PlatformTransactionManager} throwing an exception during commit will automatically
|
||||
* cause the remaining transaction managers to roll back instead of committing.
|
||||
* <p />
|
||||
* <p>
|
||||
* As consequence, a transaction can get into a state, where the first {@link PlatformTransactionManager} has committed
|
||||
* its transaction and a subsequent {@link PlatformTransactionManager} failed to commit its transaction (e.g. caused by
|
||||
* an I/O error or the transactional resource failed to commit for other reasons). In that case,
|
||||
@@ -53,7 +53,7 @@ import org.springframework.util.Assert;
|
||||
* resource. {@link ChainedTransactionManager} should be only used if the application can tolerate or recover from
|
||||
* inconsistent state caused by partially committed transactions. In any other case, the use of
|
||||
* {@link ChainedTransactionManager} is not recommended.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Instead of using {@link ChainedTransactionManager} for attaching callbacks to transaction commit (pre commit/post
|
||||
* commit), either register a {@link org.springframework.transaction.reactive.TransactionSynchronization} to explicitly
|
||||
* follow transaction cleanup with simplified semantics in case of exceptions.
|
||||
|
||||
@@ -59,7 +59,7 @@ public interface CloseableIterator<T> extends Iterator<T>, Closeable {
|
||||
|
||||
/**
|
||||
* Return a sequential {@code Stream} with this {@link Iterator} as its source. The resulting stream calls
|
||||
* {@link #clone()} when {@link Stream#close() closed}. The resulting {@link Stream} must be closed after use, it can
|
||||
* {@link #close()} when {@link Stream#close() closed}. The resulting {@link Stream} must be closed after use, it can
|
||||
* be declared as a resource in a {@code try}-with-resources statement.
|
||||
* <p>
|
||||
* This method should be overridden when the {@link #spliterator()} method cannot return a spliterator that is
|
||||
|
||||
@@ -146,7 +146,7 @@ public class Lazy<T> implements Supplier<T> {
|
||||
/**
|
||||
* Returns a new Lazy that will return the given value in case the current one does not yield in a result.
|
||||
*
|
||||
* @param supplier must not be {@literal null}.
|
||||
* @param value must not be {@literal null}.
|
||||
* @return
|
||||
*/
|
||||
public Lazy<T> or(T value) {
|
||||
|
||||
@@ -29,8 +29,6 @@ import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.springframework.core.MethodParameter;
|
||||
import org.springframework.core.annotation.AnnotatedElementUtils;
|
||||
import org.springframework.core.annotation.AnnotationUtils;
|
||||
@@ -42,9 +40,9 @@ import org.springframework.util.MultiValueMap;
|
||||
|
||||
/**
|
||||
* Utility methods to introspect nullability rules declared in packages, classes and methods.
|
||||
* <p/>
|
||||
* Nullability rules are declared using {@link NonNullApi} and {@link Nullable} and JSR-305
|
||||
* {@link javax.annotation.Nonnull} annotations. By default (no annotation use), a package and its types are considered
|
||||
* <p>
|
||||
* Nullability rules are declared using {@link NonNullApi}, {@link Nullable}, and JSR-305
|
||||
* {@code javax.annotation.Nonnull} annotations. By default (no annotation use), a package and its types are considered
|
||||
* allowing {@literal null} values in return values and method parameters. Nullability rules are expressed by annotating
|
||||
* a package with a JSR-305 meta annotation such as Spring's {@link NonNullApi}. All types of the package inherit the
|
||||
* package rule. Subpackages do not inherit nullability rules and must be annotated themself.
|
||||
@@ -70,15 +68,14 @@ import org.springframework.util.MultiValueMap;
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* <p/>
|
||||
* {@link javax.annotation.Nonnull} is suitable for composition of meta-annotations and expresses via
|
||||
* {@link Nonnull#when()} in which cases non-nullability is applicable.
|
||||
* <p>
|
||||
* {@code javax.annotation.Nonnull} is suitable for composition of meta-annotations and expresses via
|
||||
* {@code javax.annotation.Nonnull#when()} in which cases non-nullability is applicable.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @since 2.0
|
||||
* @see NonNullApi
|
||||
* @see Nullable
|
||||
* @see Nonnull
|
||||
*/
|
||||
public abstract class NullableUtils {
|
||||
|
||||
@@ -99,9 +96,9 @@ public abstract class NullableUtils {
|
||||
/**
|
||||
* Determine whether {@link ElementType} in the scope of {@link Method} requires non-{@literal null} values.
|
||||
* Non-nullability rules are discovered from class and package annotations. Non-null is applied when
|
||||
* {@link javax.annotation.Nonnull} is set to {@link javax.annotation.meta.When#ALWAYS}.
|
||||
* {@code javax.annotation.Nonnull} is set to {@code javax.annotation.meta.When#ALWAYS}.
|
||||
*
|
||||
* @param type the class to inspect.
|
||||
* @param method the method to inspect.
|
||||
* @param elementType the element type.
|
||||
* @return {@literal true} if {@link ElementType} allows {@literal null} values by default.
|
||||
* @see #isNonNull(Annotation, ElementType)
|
||||
@@ -113,7 +110,7 @@ public abstract class NullableUtils {
|
||||
/**
|
||||
* Determine whether {@link ElementType} in the scope of {@code type} requires non-{@literal null} values.
|
||||
* Non-nullability rules are discovered from class and package annotations. Non-null is applied when
|
||||
* {@link javax.annotation.Nonnull} is set to {@link javax.annotation.meta.When#ALWAYS}.
|
||||
* {@code javax.annotation.Nonnull} is set to {@code javax.annotation.meta.When#ALWAYS}.
|
||||
*
|
||||
* @param type the class to inspect.
|
||||
* @param elementType the element type.
|
||||
@@ -126,7 +123,7 @@ public abstract class NullableUtils {
|
||||
|
||||
/**
|
||||
* Determine whether {@link ElementType} in the scope of {@link AnnotatedElement} requires non-{@literal null} values.
|
||||
* This method determines default {@link javax.annotation.Nonnull nullability} rules from the annotated element
|
||||
* This method determines default {@code javax.annotation.Nonnull nullability} rules from the annotated element
|
||||
*
|
||||
* @param element the scope of declaration, may be a {@link Package}, {@link Class}, or
|
||||
* {@link java.lang.reflect.Method}.
|
||||
@@ -172,8 +169,8 @@ public abstract class NullableUtils {
|
||||
/**
|
||||
* Determine whether a {@link MethodParameter} is explicitly annotated to be considered nullable. Nullability rules
|
||||
* are discovered from method and parameter annotations. A {@link MethodParameter} is considered nullable when
|
||||
* {@link javax.annotation.Nonnull} is set to one of {@link javax.annotation.meta.When#UNKNOWN},
|
||||
* {@link javax.annotation.meta.When#NEVER}, or {@link javax.annotation.meta.When#MAYBE}.
|
||||
* {@code javax.annotation.Nonnull} is set to one of {@code javax.annotation.meta.When#UNKNOWN},
|
||||
* {@code javax.annotation.meta.When#NEVER}, or {@code javax.annotation.meta.When#MAYBE}.
|
||||
*
|
||||
* @param methodParameter the method parameter to inspect.
|
||||
* @return {@literal true} if the parameter is nullable, {@literal false} otherwise.
|
||||
@@ -203,7 +200,7 @@ public abstract class NullableUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Introspect {@link Annotation} for being either a meta-annotation composed from {@link Nonnull} or {@link Nonnull}
|
||||
* Introspect {@link Annotation} for being either a meta-annotation composed from {@code Nonnull} or {code Nonnull}
|
||||
* itself expressing non-nullability.
|
||||
*
|
||||
* @param annotation
|
||||
@@ -214,7 +211,7 @@ public abstract class NullableUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Introspect {@link Annotation} for being either a meta-annotation composed from {@link Nonnull} or {@link Nonnull}
|
||||
* Introspect {@link Annotation} for being either a meta-annotation composed from {@code Nonnull} or {@code Nonnull}
|
||||
* itself expressing nullability.
|
||||
*
|
||||
* @param annotation
|
||||
|
||||
@@ -44,7 +44,7 @@ import org.springframework.web.util.UriComponents;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
/**
|
||||
* {@link ResourceAssembler} to easily convert {@link Page} instances into {@link PagedResources}.
|
||||
* {@link RepresentationModelAssembler} to easily convert {@link Page} instances into {@link PagedModel}.
|
||||
*
|
||||
* @since 1.6
|
||||
* @author Oliver Gierke
|
||||
@@ -75,12 +75,12 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Configures whether to always add {@code first} and {@code last} links to the {@link PagedResources} created.
|
||||
* Defaults to {@literal false} which means that {@code first} and {@code last} links only appear in conjunction with
|
||||
* Configures whether to always add {@code first} and {@code last} links to the {@link PagedModel} created. Defaults
|
||||
* to {@literal false} which means that {@code first} and {@code last} links only appear in conjunction with
|
||||
* {@code prev} and {@code next} links.
|
||||
*
|
||||
* @param forceFirstAndLastRels whether to always add {@code first} and {@code last} links to the
|
||||
* {@link PagedResources} created.
|
||||
* @param forceFirstAndLastRels whether to always add {@code first} and {@code last} links to the {@link PagedModel}
|
||||
* created.
|
||||
* @since 1.11
|
||||
*/
|
||||
public void setForceFirstAndLastRels(boolean forceFirstAndLastRels) {
|
||||
@@ -97,8 +97,8 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link PagedResources} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* wrapping the contained elements into {@link Resource} instances. Will add pagination links based on the given the
|
||||
* Creates a new {@link PagedModel} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* wrapping the contained elements into {@link PagedModel} instances. Will add pagination links based on the given the
|
||||
* self link.
|
||||
*
|
||||
* @param page must not be {@literal null}.
|
||||
@@ -110,8 +110,8 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link PagedResources} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* using the given {@link ResourceAssembler} to turn elements of the {@link Page} into resources.
|
||||
* Creates a new {@link PagedModel} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* using the given {@link PagedModel} to turn elements of the {@link Page} into resources.
|
||||
*
|
||||
* @param page must not be {@literal null}.
|
||||
* @param assembler must not be {@literal null}.
|
||||
@@ -123,9 +123,9 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new {@link PagedResources} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* using the given {@link ResourceAssembler} to turn elements of the {@link Page} into resources. Will add pagination
|
||||
* links based on the given the self link.
|
||||
* Creates a new {@link PagedModel} by converting the given {@link Page} into a {@link PageMetadata} instance and
|
||||
* using the given {@link PagedModel} to turn elements of the {@link Page} into resources. Will add pagination links
|
||||
* based on the given the self link.
|
||||
*
|
||||
* @param page must not be {@literal null}.
|
||||
* @param assembler must not be {@literal null}.
|
||||
@@ -141,7 +141,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link PagedResources} with an empt collection {@link EmbeddedWrapper} for the given domain type.
|
||||
* Creates a {@link PagedModel} with an empt collection {@link EmbeddedWrapper} for the given domain type.
|
||||
*
|
||||
* @param page must not be {@literal null}, content must be empty.
|
||||
* @param type must not be {@literal null}.
|
||||
@@ -153,7 +153,7 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a {@link PagedResources} with an empt collection {@link EmbeddedWrapper} for the given domain type.
|
||||
* Creates a {@link PagedModel} with an empt collection {@link EmbeddedWrapper} for the given domain type.
|
||||
*
|
||||
* @param page must not be {@literal null}, content must be empty.
|
||||
* @param type must not be {@literal null}.
|
||||
@@ -181,9 +181,9 @@ public class PagedResourcesAssembler<T> implements RepresentationModelAssembler<
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the {@link PagedResources} to be equipped with pagination links downstream.
|
||||
* Creates the {@link PagedModel} to be equipped with pagination links downstream.
|
||||
*
|
||||
* @param resources the original page's elements mapped into {@link ResourceSupport} instances.
|
||||
* @param resources the original page's elements mapped into {@link RepresentationModel} instances.
|
||||
* @param metadata the calculated {@link PageMetadata}, must not be {@literal null}.
|
||||
* @param page the original page handed to the assembler, must not be {@literal null}.
|
||||
* @return must not be {@literal null}.
|
||||
|
||||
@@ -58,7 +58,7 @@ import org.springframework.util.ClassUtils;
|
||||
* <li>{@link org.springframework.data.web.PagedResourcesAssembler} - for injection into web components</li>
|
||||
* <li>{@link org.springframework.data.web.SortHandlerMethodArgumentResolver} - for injection of
|
||||
* {@link org.springframework.data.web.PagedResourcesAssembler} into controller methods</li>
|
||||
* <ul>
|
||||
* </ul>
|
||||
*
|
||||
* @since 1.6
|
||||
* @see SpringDataWebConfiguration
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ public class ReactiveQuerydslWebConfiguration implements WebFluxConfigurer {
|
||||
@Autowired BeanFactory beanFactory;
|
||||
|
||||
/**
|
||||
* Default {@link ReactiveQuerydslPredicateArgumentResolver} to create Querydsl {@link Predicate} instances for Spring
|
||||
* Default {@link ReactiveQuerydslPredicateArgumentResolver} to create Querydsl {@code Predicate} instances for Spring
|
||||
* WebFlux controller methods.
|
||||
*
|
||||
* @return
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.springframework.data.mapping;
|
||||
import org.springframework.data.annotation.Persistent;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Persistent
|
||||
public class Child extends PersonWithId {
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.lang.annotation.Target;
|
||||
import org.springframework.data.annotation.Persistent;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.TYPE, ElementType.FIELD })
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package org.springframework.data.mapping;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
public abstract class Person {
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package org.springframework.data.mapping;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Document
|
||||
public class PersonDocument extends Person {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package org.springframework.data.mapping;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Document
|
||||
public class PersonNoId extends Person {
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.springframework.data.mapping;
|
||||
import org.springframework.data.annotation.Persistent;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
@Persistent
|
||||
public class PersonPersistent extends PersonWithId {
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.springframework.data.annotation.Id;
|
||||
import org.springframework.data.annotation.Reference;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
public class PersonWithChildren extends Person {
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ package org.springframework.data.mapping;
|
||||
import org.springframework.data.annotation.Id;
|
||||
|
||||
/**
|
||||
* @author Jon Brisbin <jbrisbin@vmware.com>
|
||||
* @author Jon Brisbin
|
||||
*/
|
||||
public class PersonWithId extends Person {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user