DATAGRAPH-1355 - Fix since-annotation and values.
This commit is contained in:
@@ -11,7 +11,7 @@ to be part of the public API.
|
||||
|
||||
=== Decision
|
||||
|
||||
Those classes should be marked `@API(status = API.Status.INTERNAL, since = "1.0")` as well as made final to at least
|
||||
Those classes should be marked `@API(status = API.Status.INTERNAL, since = "6.0")` as well as made final to at least
|
||||
prevent people from inheriting from them.
|
||||
|
||||
=== Consequences
|
||||
|
||||
@@ -34,10 +34,10 @@ import org.springframework.transaction.PlatformTransactionManager;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Configuration
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
@Import(Neo4jDefaultCallbacksRegistrar.class)
|
||||
public abstract class AbstractNeo4jConfig extends Neo4jConfigurationSupport {
|
||||
|
||||
|
||||
@@ -35,10 +35,10 @@ import org.springframework.transaction.ReactiveTransactionManager;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Configuration
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
@Import(Neo4jDefaultReactiveCallbacksRegistrar.class)
|
||||
public abstract class AbstractReactiveNeo4jConfig extends Neo4jConfigurationSupport {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.springframework.data.domain.AuditorAware;
|
||||
* Annotation to enable auditing for SDN entities via annotation configuration.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
* @soundtrack Iron Maiden - Killers
|
||||
*/
|
||||
@Inherited
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.springframework.util.ClassUtils;
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Iron Maiden - Killers
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class Neo4jAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
|
||||
|
||||
|
||||
@@ -38,9 +38,9 @@ import org.springframework.util.StringUtils;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
abstract class Neo4jConfigurationSupport {
|
||||
|
||||
@Bean
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.springframework.data.neo4j.repository.event.OptimisticLockingBeforeBi
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack AC/DC - High Voltage
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class Neo4jDefaultCallbacksRegistrar implements ImportBeanDefinitionRegistrar {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.springframework.data.neo4j.repository.event.ReactiveOptimisticLocking
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack AC/DC - High Voltage
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class Neo4jDefaultReactiveCallbacksRegistrar implements ImportBeanDefinitionRegistrar {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Rage - Reign Of Fear
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class DatabaseSelection {
|
||||
|
||||
private final static DatabaseSelection DEFAULT_DATABASE_NAME = new DatabaseSelection(null);
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack N.W.A. - Straight Outta Compton
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
@FunctionalInterface
|
||||
public interface DatabaseSelectionProvider {
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultNeo4jClient implements Neo4jClient {
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ import org.springframework.util.Assert;
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @soundtrack Die Toten Hosen - Im Auftrag des Herrn
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultReactiveNeo4jClient implements ReactiveNeo4jClient {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.neo4j.driver.types.TypeSystem;
|
||||
* @author Michael J. Simons
|
||||
* @param <T> The expected type of this function
|
||||
* @soundtrack Manowar - Fighting The World
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DelegatingMappingFunctionWithNullCheck<T> implements BiFunction<TypeSystem, Record, T> {
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@ import org.neo4j.cypherdsl.core.Cypher;
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Bananafishbones - Viva Conputa
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
final class NamedParameters {
|
||||
|
||||
private final Map<String, Object> parameters = new HashMap<>();
|
||||
|
||||
@@ -37,9 +37,9 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface Neo4jClient {
|
||||
|
||||
// TODO Create examples how to use the callbacks etc. with Springs TransactionTemplate to deal with rollbacks etc.
|
||||
@@ -84,7 +84,7 @@ public interface Neo4jClient {
|
||||
* Contract for a runnable query that can be either run returning it's result, run without results or be
|
||||
* parameterized.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableSpec extends RunnableSpecTightToDatabase {
|
||||
|
||||
@@ -101,7 +101,7 @@ public interface Neo4jClient {
|
||||
/**
|
||||
* Contract for a runnable query inside a dedicated database.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableSpecTightToDatabase extends BindSpec<RunnableSpecTightToDatabase> {
|
||||
|
||||
@@ -134,7 +134,7 @@ public interface Neo4jClient {
|
||||
* Contract for binding parameters to a query.
|
||||
*
|
||||
* @param <S> This {@link BindSpec specs} own type
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface BindSpec<S extends BindSpec<S>> {
|
||||
|
||||
@@ -152,7 +152,7 @@ public interface Neo4jClient {
|
||||
*
|
||||
* @param <S> This {@link OngoingBindSpec specs} own type
|
||||
* @param <T> Binding value type
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface OngoingBindSpec<T, S extends BindSpec<S>> {
|
||||
|
||||
@@ -175,7 +175,7 @@ public interface Neo4jClient {
|
||||
|
||||
/**
|
||||
* @param <T> The resulting type of this mapping
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface MappingSpec<T> extends RecordFetchSpec<T> {
|
||||
|
||||
@@ -191,7 +191,7 @@ public interface Neo4jClient {
|
||||
|
||||
/**
|
||||
* @param <T> The type to which the fetched records are eventually mapped
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RecordFetchSpec<T> {
|
||||
|
||||
@@ -221,7 +221,7 @@ public interface Neo4jClient {
|
||||
* A contract for an ongoing delegation in the selected database.
|
||||
*
|
||||
* @param <T> The type of the returned value.
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface OngoingDelegation<T> extends RunnableDelegation<T> {
|
||||
|
||||
@@ -238,7 +238,7 @@ public interface Neo4jClient {
|
||||
* A runnable delegation.
|
||||
*
|
||||
* @param <T> the type that gets returned
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableDelegation<T> {
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@ import org.springframework.data.neo4j.repository.NoResultException;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Motörhead - We Are Motörhead
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface Neo4jOperations {
|
||||
|
||||
/**
|
||||
@@ -226,7 +226,7 @@ public interface Neo4jOperations {
|
||||
* An interface for controlling query execution.
|
||||
*
|
||||
* @param <T> the type that gets returned by the query
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface ExecutableQuery<T> {
|
||||
|
||||
|
||||
@@ -65,9 +65,9 @@ import org.springframework.util.CollectionUtils;
|
||||
* @author Michael J. Simons
|
||||
* @author Philipp Tölle
|
||||
* @soundtrack Motörhead - We Are Motörhead
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class Neo4jTemplate implements Neo4jOperations, BeanFactoryAware {
|
||||
|
||||
private static final LogAccessor log = new LogAccessor(LogFactory.getLog(Neo4jTemplate.class));
|
||||
|
||||
@@ -31,7 +31,7 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Philipp Tölle
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class NestedRelationshipContext {
|
||||
private final Neo4jPersistentProperty inverse;
|
||||
|
||||
@@ -37,9 +37,9 @@ import org.springframework.lang.Nullable;
|
||||
* @param <T> The type of the objects returned by this query.
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Deichkind - Arbeit nervt
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class PreparedQuery<T> {
|
||||
|
||||
public static <CT> RequiredBuildStep<CT> queryFor(Class<CT> resultType) {
|
||||
@@ -76,7 +76,7 @@ public final class PreparedQuery<T> {
|
||||
|
||||
/**
|
||||
* @param <CT> The concrete type of this build step.
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
public static class RequiredBuildStep<CT> {
|
||||
private final Class<CT> resultType;
|
||||
@@ -92,7 +92,7 @@ public final class PreparedQuery<T> {
|
||||
|
||||
/**
|
||||
* @param <CT> The concrete type of this build step.
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
public static class OptionalBuildSteps<CT> {
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Rage - Reign Of Fear
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
@FunctionalInterface
|
||||
public interface ReactiveDatabaseSelectionProvider {
|
||||
|
||||
|
||||
@@ -39,9 +39,9 @@ import org.springframework.data.neo4j.core.Neo4jClient.BindSpec;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Die Toten Hosen - Im Auftrag des Herrn
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface ReactiveNeo4jClient {
|
||||
|
||||
LogAccessor cypherLog = new LogAccessor(LogFactory.getLog("org.springframework.data.neo4j.cypher"));
|
||||
@@ -82,7 +82,7 @@ public interface ReactiveNeo4jClient {
|
||||
|
||||
/**
|
||||
* @param <T> The resulting type of this mapping
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface MappingSpec<T> extends RecordFetchSpec<T> {
|
||||
|
||||
@@ -98,7 +98,7 @@ public interface ReactiveNeo4jClient {
|
||||
|
||||
/**
|
||||
* @param <T> The type to which the fetched records are eventually mapped
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RecordFetchSpec<T> {
|
||||
|
||||
@@ -128,7 +128,7 @@ public interface ReactiveNeo4jClient {
|
||||
* Contract for a runnable query that can be either run returning it's result, run without results or be
|
||||
* parameterized.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableSpec extends RunnableSpecTightToDatabase {
|
||||
|
||||
@@ -144,7 +144,7 @@ public interface ReactiveNeo4jClient {
|
||||
/**
|
||||
* Contract for a runnable query inside a dedicated database.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableSpecTightToDatabase extends BindSpec<RunnableSpecTightToDatabase> {
|
||||
|
||||
@@ -177,7 +177,7 @@ public interface ReactiveNeo4jClient {
|
||||
* A contract for an ongoing delegation in the selected database.
|
||||
*
|
||||
* @param <T> The type of the returned value.
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface OngoingDelegation<T> extends RunnableDelegation<T> {
|
||||
|
||||
@@ -194,7 +194,7 @@ public interface ReactiveNeo4jClient {
|
||||
* A runnable delegation.
|
||||
*
|
||||
* @param <T> the type that gets returned by the query
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface RunnableDelegation<T> {
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@ import org.springframework.dao.IncorrectResultSizeDataAccessException;
|
||||
* Specifies reactive operations one can perform on a database, based on an <em>Domain Type</em>.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface ReactiveNeo4jOperations {
|
||||
|
||||
/**
|
||||
@@ -225,7 +225,7 @@ public interface ReactiveNeo4jOperations {
|
||||
* An interface for controlling query execution in a reactive fashion.
|
||||
*
|
||||
* @param <T> the type that gets returned by the query
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
interface ExecutableQuery<T> {
|
||||
|
||||
|
||||
@@ -68,9 +68,9 @@ import org.springframework.util.CollectionUtils;
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @author Philipp Tölle
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class ReactiveNeo4jTemplate implements ReactiveNeo4jOperations, BeanFactoryAware {
|
||||
|
||||
private static final LogAccessor log = new LogAccessor(LogFactory.getLog(ReactiveNeo4jTemplate.class));
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.springframework.lang.NonNull;
|
||||
*
|
||||
* @author Philipp Tölle
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class RelationshipStatementHolder {
|
||||
private final Statement relationshipCreationQuery;
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.core.convert.ConversionService;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @param <T> type of the domain class to map
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class SingleValueMappingFunction<T> implements BiFunction<TypeSystem, Record, T> {
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ import org.springframework.util.StringUtils;
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @author Dennis Crissman
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class AdditionalTypes {
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.data.convert.ConverterBuilder;
|
||||
* <a href="https://neo4j.com/docs/driver-manual/current/cypher-values/">Working with Cypher values</a>.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class CypherTypes {
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@ import org.springframework.data.convert.CustomConversions;
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack The Kleptones - A Night At The Hip-Hopera
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class Neo4jConversions extends CustomConversions {
|
||||
|
||||
private static final StoreConversions STORE_CONVERSIONS;
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack The Kleptones - A Night At The Hip-Hopera
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
public interface Neo4jConverter extends EntityReader<Object, Record>, EntityWriter<Object, Map<String, Object>> {
|
||||
|
||||
|
||||
@@ -49,9 +49,9 @@ import org.springframework.data.neo4j.types.GeographicPoint3d;
|
||||
* system</a>.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class Neo4jSimpleTypes {
|
||||
|
||||
private static final Set<Class<?>> NEO4J_NATIVE_TYPES;
|
||||
|
||||
@@ -49,7 +49,7 @@ import org.springframework.util.Assert;
|
||||
* directly. This will be passed on as is.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class SpatialTypes {
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ import org.springframework.util.Assert;
|
||||
* @author Gerrit Meier
|
||||
* @author Philipp Tölle
|
||||
* @soundtrack The Kleptones - A Night At The Hip-Hopera
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class DefaultNeo4jConverter implements Neo4jConverter {
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ import org.springframework.util.Assert;
|
||||
* </ul>
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultNeo4jIsNewStrategy implements IsNewStrategy {
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ import org.springframework.util.StringUtils;
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultNeo4jPersistentEntity<T> extends BasicPersistentEntity<T, Neo4jPersistentProperty>
|
||||
implements Neo4jPersistentEntity<T> {
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultNeo4jPersistentProperty extends AnnotationBasedPersistentProperty<Neo4jPersistentProperty>
|
||||
implements Neo4jPersistentProperty {
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.springframework.lang.Nullable;
|
||||
/**
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class DefaultRelationshipDescription extends Association<Neo4jPersistentProperty> implements RelationshipDescription {
|
||||
|
||||
|
||||
@@ -49,9 +49,9 @@ import org.springframework.lang.Nullable;
|
||||
* classes through {@link #setInitialEntitySet(Set)}.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class Neo4jMappingContext extends AbstractMappingContext<Neo4jPersistentEntity<?>, Neo4jPersistentProperty>
|
||||
implements Schema {
|
||||
|
||||
|
||||
@@ -31,9 +31,9 @@ import org.springframework.data.neo4j.core.schema.NodeDescription;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @param <T> type of the underlying class
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public interface Neo4jPersistentEntity<T>
|
||||
extends MutablePersistentEntity<T, Neo4jPersistentProperty>, NodeDescription<T> {
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@ import org.springframework.data.neo4j.core.schema.RelationshipProperties;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Philipp Tölle
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public interface Neo4jPersistentProperty extends PersistentProperty<Neo4jPersistentProperty>, GraphPropertyDescription {
|
||||
|
||||
/**
|
||||
@@ -47,7 +47,7 @@ public interface Neo4jPersistentProperty extends PersistentProperty<Neo4jPersist
|
||||
* {@literal java.lang.String} and values of {@literal java.util.Collection}.
|
||||
*
|
||||
* @return True, if this association is a dynamic association with multple values per type.
|
||||
* @since 1.0.1
|
||||
* @since 6.0.1
|
||||
*/
|
||||
default boolean isDynamicOneToManyAssociation() {
|
||||
|
||||
@@ -56,7 +56,7 @@ public interface Neo4jPersistentProperty extends PersistentProperty<Neo4jPersist
|
||||
|
||||
/**
|
||||
* @return whether the property is an property describing dynamic labels
|
||||
* @since 1.1
|
||||
* @since 6.0
|
||||
*/
|
||||
default boolean isDynamicLabels() {
|
||||
return this.isAnnotationPresent(DynamicLabels.class) && this.isCollectionLike();
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.springframework.data.neo4j.core.schema.NodeDescription;
|
||||
* of labels not statically defined in the resolved node hierarchy.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.1
|
||||
* @since 6.0
|
||||
* @soundtrack The Rolling Stones - Living In A Ghost Town
|
||||
*/
|
||||
final class NodeDescriptionAndLabels {
|
||||
|
||||
@@ -25,9 +25,9 @@ import org.neo4j.cypherdsl.core.SymbolicName;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Milky Chance - Sadnecessary
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = Status.INTERNAL, since = "1.0")
|
||||
@API(status = Status.INTERNAL, since = "6.0")
|
||||
public final class Constants {
|
||||
|
||||
public static final SymbolicName NAME_OF_ROOT_NODE = Cypher.name("n");
|
||||
|
||||
@@ -60,9 +60,9 @@ import org.springframework.util.Assert;
|
||||
* @author Gerrit Meier
|
||||
* @author Philipp Tölle
|
||||
* @soundtrack Rammstein - Herzeleid
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public enum CypherGenerator {
|
||||
|
||||
INSTANCE;
|
||||
@@ -119,7 +119,7 @@ public enum CypherGenerator {
|
||||
*
|
||||
* @param nodeDescription The node description for which the statement should be generated
|
||||
* @return A statement having one parameter.
|
||||
* @since 1.1
|
||||
* @since 6.0
|
||||
*/
|
||||
public Statement createStatementReturningDynamicLabels(NodeDescription<?> nodeDescription) {
|
||||
|
||||
|
||||
@@ -34,11 +34,11 @@ import org.apiguardian.api.API;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Danger Dan - Nudeln und Klopapier
|
||||
* @since 1.1
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
@Documented
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface DynamicLabels {
|
||||
}
|
||||
|
||||
@@ -36,13 +36,13 @@ import org.springframework.core.annotation.AliasFor;
|
||||
* To use an external id generator, specify on the
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
@Documented
|
||||
@Inherited
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface GeneratedValue {
|
||||
|
||||
/**
|
||||
@@ -78,7 +78,7 @@ public @interface GeneratedValue {
|
||||
* This generator is automatically applied when a field of type {@link java.util.UUID} is annotated with
|
||||
* {@link Id @Id} and {@link GeneratedValue @GeneratedValue}.
|
||||
*
|
||||
* @since 1.0.1
|
||||
* @since 6.0.1
|
||||
*/
|
||||
final class UUIDGenerator implements IdGenerator<UUID> {
|
||||
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.apiguardian.api.API;
|
||||
* Associations between different node types can be queried on the {@link Schema} itself.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public interface GraphPropertyDescription {
|
||||
|
||||
/**
|
||||
|
||||
@@ -69,13 +69,13 @@ import org.apiguardian.api.API;
|
||||
* arbitrarily named via {@code @Property}.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
@Documented
|
||||
@Inherited
|
||||
@org.springframework.data.annotation.Id
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface Id {
|
||||
}
|
||||
|
||||
@@ -30,9 +30,9 @@ import org.springframework.util.Assert;
|
||||
* Description how to generate Ids for entities.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class IdDescription {
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,10 +22,10 @@ import org.apiguardian.api.API;
|
||||
*
|
||||
* @param <T> Type of the id to generate
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface IdGenerator<T> {
|
||||
|
||||
/**
|
||||
|
||||
@@ -28,13 +28,13 @@ import org.springframework.core.annotation.AliasFor;
|
||||
* The annotation to configure the mapping from a node with a given set of labels to a class and vice versa.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.TYPE)
|
||||
@Documented
|
||||
@org.springframework.data.annotation.Persistent
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface Node {
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,9 +30,9 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @param <T> The type of the underlying class
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public interface NodeDescription<T> {
|
||||
|
||||
/**
|
||||
@@ -48,7 +48,7 @@ public interface NodeDescription<T> {
|
||||
/**
|
||||
* @return The list of all static labels, that is the union of {@link #getPrimaryLabel()} +
|
||||
* {@link #getAdditionalLabels()}. Order is guaranteed to be the primary first, than the others.
|
||||
* @since 1.1
|
||||
* @since 6.0
|
||||
*/
|
||||
default List<String> getStaticLabels() {
|
||||
List<String> staticLabels = new ArrayList<>();
|
||||
|
||||
@@ -29,13 +29,13 @@ import org.springframework.core.annotation.AliasFor;
|
||||
* The annotation to configure the mapping from a property to an attribute and vice versa.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
@Documented
|
||||
@Inherited
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface Property {
|
||||
|
||||
/**
|
||||
|
||||
@@ -29,19 +29,19 @@ import org.springframework.core.annotation.AliasFor;
|
||||
* Annotation to configure mappings of relationship.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target(ElementType.FIELD)
|
||||
@Documented
|
||||
@Inherited
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface Relationship {
|
||||
|
||||
/**
|
||||
* Enumeration of the direction a relationship can take.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
enum Direction {
|
||||
|
||||
|
||||
@@ -25,9 +25,9 @@ import org.springframework.lang.Nullable;
|
||||
* {@link #getTarget}.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public interface RelationshipDescription {
|
||||
|
||||
String NAME_OF_RELATIONSHIP = "__relationship__";
|
||||
|
||||
@@ -34,6 +34,6 @@ import org.apiguardian.api.API;
|
||||
@Target(ElementType.TYPE)
|
||||
@Documented
|
||||
@Inherited
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface RelationshipProperties {
|
||||
}
|
||||
|
||||
@@ -33,9 +33,9 @@ import org.springframework.lang.Nullable;
|
||||
* Contains the descriptions of all nodes, their properties and relationships known to SDN.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface Schema {
|
||||
|
||||
/**
|
||||
|
||||
@@ -23,9 +23,9 @@ import org.springframework.dao.InvalidDataAccessApiUsageException;
|
||||
* information is not available.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class UnknownEntityException extends InvalidDataAccessApiUsageException {
|
||||
|
||||
private final Class<?> targetClass;
|
||||
|
||||
@@ -25,9 +25,9 @@ import org.springframework.data.neo4j.core.schema.IdGenerator;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Various - Kung Fury (Original Motion Picture Soundtrack)
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public final class UUIDStringGenerator implements IdGenerator<String> {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.neo4j.driver.Bookmark;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Metallica - Death Magnetic
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class Neo4jBookmarkManager {
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.springframework.transaction.support.TransactionSynchronization;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class Neo4jSessionSynchronization extends ResourceHolderSynchronization<Neo4jTransactionHolder, Object> {
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Evanescence - Fallen
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class Neo4jTransactionContext {
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ import org.springframework.util.Assert;
|
||||
* <strong>Note:</strong> Intended for internal usage only.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class Neo4jTransactionHolder extends ResourceHolderSupport {
|
||||
|
||||
|
||||
@@ -39,9 +39,9 @@ import org.springframework.util.Assert;
|
||||
* transaction manager will synchronize a pair of a native Neo4j session/transaction with the transaction.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public class Neo4jTransactionManager extends AbstractPlatformTransactionManager {
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,7 +32,7 @@ import org.springframework.transaction.TransactionDefinition;
|
||||
/**
|
||||
* Internal use only.
|
||||
*
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
public final class Neo4jTransactionUtils {
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.springframework.transaction.reactive.TransactionSynchronizationManage
|
||||
/**
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class ReactiveNeo4jSessionSynchronization
|
||||
extends ReactiveResourceSynchronization<ReactiveNeo4jTransactionHolder, Object> {
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.transaction.support.ResourceHolderSupport;
|
||||
/**
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class ReactiveNeo4jTransactionHolder extends ResourceHolderSupport {
|
||||
|
||||
|
||||
@@ -39,9 +39,9 @@ import org.springframework.util.Assert;
|
||||
/**
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public class ReactiveNeo4jTransactionManager extends AbstractReactiveTransactionManager {
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.springframework.data.repository.query.QueryByExampleExecutor;
|
||||
* @author Ján Šúr
|
||||
* @param <T> type of the domain class to map
|
||||
* @param <ID> identifier type in the domain class
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@NoRepositoryBean
|
||||
public interface Neo4jRepository<T, ID> extends PagingAndSortingRepository<T, ID>, QueryByExampleExecutor<T> {
|
||||
|
||||
@@ -23,9 +23,9 @@ import org.springframework.dao.EmptyResultDataAccessException;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Deichkind - Niveau weshalb warum
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public class NoResultException extends EmptyResultDataAccessException {
|
||||
|
||||
private final String query;
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.springframework.data.repository.reactive.ReactiveSortingRepository;
|
||||
* @author Michael J. Simons
|
||||
* @param <T> type of the domain class to map
|
||||
* @param <ID> identifier type in the domain class
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@NoRepositoryBean
|
||||
public interface ReactiveNeo4jRepository<T, ID>
|
||||
|
||||
@@ -38,7 +38,7 @@ import org.springframework.data.repository.config.DefaultRepositoryBaseClass;
|
||||
* configuration class.
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.springframework.data.repository.config.DefaultRepositoryBaseClass;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.data.repository.config.RepositoryConfigurationExtensi
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class Neo4jRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport {
|
||||
|
||||
|
||||
@@ -37,9 +37,9 @@ import org.springframework.data.repository.core.RepositoryMetadata;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class Neo4jRepositoryConfigurationExtension extends RepositoryConfigurationExtensionSupport {
|
||||
|
||||
private static final String MODULE_PREFIX = "neo4j";
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.data.repository.config.RepositoryConfigurationExtensi
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class ReactiveNeo4jRepositoriesRegistrar extends RepositoryBeanDefinitionRegistrarSupport {
|
||||
|
||||
|
||||
@@ -37,9 +37,9 @@ import org.springframework.data.repository.core.RepositoryMetadata;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class ReactiveNeo4jRepositoryConfigurationExtension extends RepositoryConfigurationExtensionSupport {
|
||||
|
||||
private static final String MODULE_PREFIX = "neo4j";
|
||||
|
||||
@@ -28,9 +28,9 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Iron Maiden - Iron Maiden
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class AuditingBeforeBindCallback implements BeforeBindCallback<Object>, Ordered {
|
||||
|
||||
public static final int NEO4J_AUDITING_ORDER = 100;
|
||||
|
||||
@@ -24,11 +24,11 @@ import org.springframework.data.mapping.callback.EntityCallback;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @param <T> The type of the entity.
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
* @soundtrack Bon Jovi - Slippery When Wet
|
||||
*/
|
||||
@FunctionalInterface
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface BeforeBindCallback<T> extends EntityCallback<T> {
|
||||
|
||||
/**
|
||||
|
||||
@@ -24,9 +24,9 @@ import org.springframework.data.neo4j.core.mapping.Neo4jMappingContext;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Various - Kung Fury (Original Motion Picture Soundtrack)
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class IdGeneratingBeforeBindCallback implements BeforeBindCallback<Object>, Ordered {
|
||||
|
||||
private final IdPopulator idPopulator;
|
||||
|
||||
@@ -26,9 +26,9 @@ import org.springframework.data.neo4j.core.mapping.Neo4jPersistentProperty;
|
||||
* Callback to increment the value of the version property for a given entity.
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class OptimisticLockingBeforeBindCallback implements BeforeBindCallback<Object>, Ordered {
|
||||
|
||||
private final Neo4jMappingContext neo4jMappingContext;
|
||||
|
||||
@@ -32,9 +32,9 @@ import org.springframework.util.Assert;
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Iron Maiden - The Number Of The Beast
|
||||
* @see AuditingBeforeBindCallback
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class ReactiveAuditingBeforeBindCallback implements ReactiveBeforeBindCallback<Object>, Ordered {
|
||||
|
||||
public static final int NEO4J_REACTIVE_AUDITING_ORDER = 100;
|
||||
|
||||
@@ -28,10 +28,10 @@ import org.springframework.data.mapping.callback.ReactiveEntityCallbacks;
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Iron Maiden - Killers
|
||||
* @see ReactiveEntityCallbacks
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public interface ReactiveBeforeBindCallback<T> extends EntityCallback<T> {
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,9 +27,9 @@ import org.springframework.data.neo4j.core.mapping.Neo4jMappingContext;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Various - Kung Fury (Original Motion Picture Soundtrack)
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class ReactiveIdGeneratingBeforeBindCallback implements ReactiveBeforeBindCallback<Object>, Ordered {
|
||||
|
||||
private final IdPopulator idPopulator;
|
||||
|
||||
@@ -29,9 +29,9 @@ import org.springframework.data.neo4j.core.mapping.Neo4jPersistentProperty;
|
||||
* Callback to increment the value of the version property for a given entity.
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class ReactiveOptimisticLockingBeforeBindCallback implements ReactiveBeforeBindCallback<Object>, Ordered {
|
||||
|
||||
private final Neo4jMappingContext neo4jMappingContext;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* {@link org.springframework.data.domain.DomainEvents} on an aggregate root.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
* @soundtrack Bon Jovi - Slippery When Wet
|
||||
*/
|
||||
@NonNullApi
|
||||
|
||||
@@ -36,7 +36,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
abstract class AbstractNeo4jQuery extends Neo4jQuerySupport implements RepositoryQuery {
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
abstract class AbstractReactiveNeo4jQuery extends Neo4jQuerySupport implements RepositoryQuery {
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import org.springframework.data.geo.Polygon;
|
||||
* upper right point.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
public final class BoundingBox {
|
||||
|
||||
|
||||
@@ -27,12 +27,12 @@ import org.apiguardian.api.API;
|
||||
* Specialized version of {@link Query} whose values is always used as count projection.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
|
||||
@Documented
|
||||
@Query(count = true)
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface CountQuery {
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.data.neo4j.core.schema.NodeDescription;
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class CypherAdapterUtils {
|
||||
|
||||
/**
|
||||
|
||||
@@ -78,7 +78,7 @@ import org.springframework.lang.Nullable;
|
||||
* This class is not thread safe and not reusable.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class CypherQueryCreator extends AbstractQueryCreator<QueryAndParameters, Condition> {
|
||||
|
||||
|
||||
@@ -27,12 +27,12 @@ import org.apiguardian.api.API;
|
||||
* Specialized version of {@link Query} whose values is always used as exists projection.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
|
||||
@Documented
|
||||
@Query(exists = true)
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface ExistsQuery {
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import org.springframework.data.neo4j.core.ReactiveNeo4jOperations;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
interface Neo4jQueryExecution {
|
||||
|
||||
@@ -32,9 +32,9 @@ import org.springframework.data.repository.query.RepositoryQuery;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class Neo4jQueryLookupStrategy implements QueryLookupStrategy {
|
||||
|
||||
private final Neo4jMappingContext mappingContext;
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class Neo4jQueryMethod extends QueryMethod {
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
abstract class Neo4jQuerySupport {
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ import org.springframework.lang.Nullable;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class PartTreeNeo4jQuery extends AbstractNeo4jQuery {
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.springframework.util.Assert;
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @soundtrack Antilopen Gang - Abwasser
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
class PartValidator {
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@ import org.springframework.data.annotation.QueryAnnotation;
|
||||
* Driver</a>. Those parameters will get bound to the arguments of the annotated method.
|
||||
*
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.METHOD, ElementType.ANNOTATION_TYPE })
|
||||
@QueryAnnotation
|
||||
@Documented
|
||||
@API(status = API.Status.STABLE, since = "1.0")
|
||||
@API(status = API.Status.STABLE, since = "6.0")
|
||||
public @interface Query {
|
||||
|
||||
/**
|
||||
|
||||
@@ -32,9 +32,9 @@ import org.springframework.data.repository.query.RepositoryQuery;
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @author Michael J. Simons
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
@API(status = API.Status.INTERNAL, since = "1.0")
|
||||
@API(status = API.Status.INTERNAL, since = "6.0")
|
||||
public final class ReactiveNeo4jQueryLookupStrategy implements QueryLookupStrategy {
|
||||
|
||||
private final ReactiveNeo4jOperations neo4jOperations;
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.util.ClassUtils;
|
||||
* would only contain duplications of several classes.
|
||||
*
|
||||
* @author Gerrit Meier
|
||||
* @since 1.0
|
||||
* @since 6.0
|
||||
*/
|
||||
final class ReactiveNeo4jQueryMethod extends Neo4jQueryMethod {
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user