From de343e2d6cd3c53a512bb46d47f0acf15fb2373a Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Mon, 31 Jul 2017 14:29:44 +0200 Subject: [PATCH] DATACASS-483 - Add @FunctionalInterface to functional interfaces. --- .../cassandra/ReactiveSessionFactory.java | 1 + .../data/cassandra/SessionFactory.java | 1 + .../config/ClusterBuilderConfigurer.java | 6 ++-- .../cql/AsyncPreparedStatementCreator.java | 6 ++-- .../core/cql/AsyncSessionCallback.java | 3 +- .../core/cql/AsynchronousQueryListener.java | 34 ------------------- .../core/cql/CqlExceptionTranslator.java | 8 ++--- .../data/cassandra/core/cql/CqlProvider.java | 1 + .../data/cassandra/core/cql/HostMapper.java | 2 +- .../core/cql/PreparedStatementBinder.java | 1 + .../core/cql/PreparedStatementCallback.java | 7 ++-- .../core/cql/PreparedStatementCreator.java | 5 +-- .../ReactivePreparedStatementCallback.java | 3 +- .../cql/ReactivePreparedStatementCreator.java | 3 +- .../core/cql/ReactiveResultSetExtractor.java | 2 +- .../core/cql/ReactiveSessionCallback.java | 7 ++-- .../core/cql/ReactiveStatementCallback.java | 12 +++---- .../core/cql/ResultSetExtractor.java | 7 ++-- .../core/cql/RowCallbackHandler.java | 2 +- .../data/cassandra/core/cql/RowMapper.java | 1 + .../cassandra/core/cql/SessionCallback.java | 2 ++ .../session/lookup/SessionFactoryLookup.java | 2 +- .../cql/support/PreparedStatementCache.java | 1 - ...andraPersistentEntityMetadataVerifier.java | 4 +-- .../core/mapping/UserTypeResolver.java | 1 + .../data/cassandra/core/query/Filter.java | 1 + .../query/CassandraQueryExecution.java | 1 + .../ReactiveCassandraQueryExecution.java | 1 + 28 files changed, 53 insertions(+), 72 deletions(-) delete mode 100644 spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsynchronousQueryListener.java diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSessionFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSessionFactory.java index 34ca8f6e2..c7c18c06d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSessionFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/ReactiveSessionFactory.java @@ -28,6 +28,7 @@ package org.springframework.data.cassandra; * @see org.springframework.data.cassandra.core.cql.session.DefaultReactiveSessionFactory * @see org.springframework.data.cassandra.core.cql.ReactiveCqlTemplate */ +@FunctionalInterface public interface ReactiveSessionFactory { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/SessionFactory.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/SessionFactory.java index 915d4018e..0c844558c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/SessionFactory.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/SessionFactory.java @@ -32,6 +32,7 @@ import com.datastax.driver.core.Session; * @author Mark Paluch * @since 2.0 */ +@FunctionalInterface public interface SessionFactory { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ClusterBuilderConfigurer.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ClusterBuilderConfigurer.java index 27d76e602..8a2cb9035 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ClusterBuilderConfigurer.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/config/ClusterBuilderConfigurer.java @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.springframework.data.cassandra.config; import com.datastax.driver.core.Cluster; @@ -22,9 +21,11 @@ import com.datastax.driver.core.Cluster; * Configuration callback class to allow a user to apply additional configuration logic to the {@link Cluster.Builder}. * * @author John Blum + * @author Mark Paluch + * @since 1.5 * @see com.datastax.driver.core.Cluster - * @since 1.0.0 */ +@FunctionalInterface public interface ClusterBuilderConfigurer { /** @@ -35,5 +36,4 @@ public interface ClusterBuilderConfigurer { * @see com.datastax.driver.core.Cluster.Builder */ Cluster.Builder configure(Cluster.Builder clusterBuilder); - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncPreparedStatementCreator.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncPreparedStatementCreator.java index 681bd7897..00783c531 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncPreparedStatementCreator.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncPreparedStatementCreator.java @@ -37,6 +37,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @author Mark Paluch * @since 2.0 */ +@FunctionalInterface public interface AsyncPreparedStatementCreator { /** @@ -45,10 +46,9 @@ public interface AsyncPreparedStatementCreator { * re-preparing on the entire cluster. * * @param session Session to use to create statement, must not be {@literal null}. - * @return a prepared statement + * @return a prepared statement. * @throws DriverException there is no need to catch DriverException that may be thrown in the implementation of this - * method. The {@link CqlTemplate} class will handle them. + * method. The {@link AsyncCqlTemplate} class will handle them. */ ListenableFuture createPreparedStatement(Session session) throws DriverException; - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncSessionCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncSessionCallback.java index 83f89aaa1..27da3e275 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncSessionCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsyncSessionCallback.java @@ -33,7 +33,9 @@ import com.datastax.driver.core.exceptions.DriverException; * @author Mark Paluch * @see AsyncCqlTemplate#execute(AsyncSessionCallback) * @see AsyncCqlTemplate#query + * @see AsyncCqlTemplate#execute(String) */ +@FunctionalInterface public interface AsyncSessionCallback { /** @@ -53,5 +55,4 @@ public interface AsyncSessionCallback { * @see AsyncCqlTemplate#queryForResultSet(String) */ ListenableFuture doInSession(Session session) throws DriverException, DataAccessException; - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsynchronousQueryListener.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsynchronousQueryListener.java deleted file mode 100644 index edcbe8ad4..000000000 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/AsynchronousQueryListener.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013-2017 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.springframework.data.cassandra.core.cql; - -import com.datastax.driver.core.ResultSetFuture; - -/** - * Interface used to give an implementation access to a {@link ResultSetFuture} after the query has completed. - * - * @author David Webb - * @author Matthew T. Adams - */ -public interface AsynchronousQueryListener { - - /** - * Called upon query completion. - * - * @param rsf The {@link ResultSetFuture}. Called when the query operation is completed. - */ - void onQueryComplete(ResultSetFuture rsf); -} diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlExceptionTranslator.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlExceptionTranslator.java index 1bdb34a68..3e5d6113f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlExceptionTranslator.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlExceptionTranslator.java @@ -39,10 +39,10 @@ public interface CqlExceptionTranslator extends PersistenceExceptionTranslator { * other resource APIs as well. That said, a {@code getRootCause() instanceof DataAccessException} check (and * subsequent cast) is considered reliable when expecting Cassandra-based access to have happened. * - * @param task readable text describing the task being attempted - * @param cql CQL query or update that caused the problem (may be {@code null}) - * @param ex the offending {@link DriverException} - * @return the DataAccessException, wrapping the {@code DriverException} + * @param task readable text describing the task being attempted. + * @param cql CQL query or update that caused the problem (may be {@code null}). + * @param ex the offending {@link DriverException}. + * @return the DataAccessException, wrapping the {@link DriverException}. * @see org.springframework.dao.DataAccessException#getRootCause() */ default DataAccessException translate(String task, String cql, DriverException ex) { diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlProvider.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlProvider.java index e0f5add92..e6920173f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlProvider.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/CqlProvider.java @@ -27,6 +27,7 @@ package org.springframework.data.cassandra.core.cql; * @see ReactivePreparedStatementCreator * @see ReactiveStatementCallback */ +@FunctionalInterface public interface CqlProvider { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/HostMapper.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/HostMapper.java index 0781de822..1f660401f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/HostMapper.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/HostMapper.java @@ -30,6 +30,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @author Mark Paluch * @see CqlTemplate */ +@FunctionalInterface public interface HostMapper { /** @@ -42,5 +43,4 @@ public interface HostMapper { * catch {@link DriverException}). */ Collection mapHosts(Iterable hosts) throws DriverException; - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementBinder.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementBinder.java index ab5437e62..edb846055 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementBinder.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementBinder.java @@ -38,6 +38,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @see AsyncCqlTemplate#query(AsyncPreparedStatementCreator, PreparedStatementBinder, ResultSetExtractor) * @see ReactiveCqlTemplate#query(String, PreparedStatementBinder, ReactiveResultSetExtractor) */ +@FunctionalInterface public interface PreparedStatementBinder { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCallback.java index de3b20d99..6bc733c7d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCallback.java @@ -35,10 +35,11 @@ import com.datastax.driver.core.exceptions.DriverException; * @author David Webb * @author Mark Paluch * @see AsyncCqlTemplate#execute(String, PreparedStatementCallback) - * @see AsyncCqlTemplate#execute(PreparedStatementCreator, PreparedStatementCallback) + * @see AsyncCqlTemplate#execute(AsyncPreparedStatementCreator, PreparedStatementCallback) * @see CqlTemplate#execute(String, PreparedStatementCallback) * @see CqlTemplate#execute(PreparedStatementCreator, PreparedStatementCallback) */ +@FunctionalInterface public interface PreparedStatementCallback { /** @@ -53,8 +54,8 @@ public interface PreparedStatementCallback { * * @param session active Cassandra session, must not be {@literal null}. * @param preparedStatement the {@link PreparedStatement}, must not be {@literal null}. - * @return a result object publisher. - * @throws DriverException if thrown by a session method, to be auto-converted to a DataAccessException. + * @return a result object. + * @throws DriverException if thrown by a session method, to be auto-converted to a {@link DataAccessException}. * @throws DataAccessException in case of custom exceptions. * @see AsyncCqlTemplate#queryForObject(String, Class, Object...) * @see AsyncCqlTemplate#queryForList(String, Class, Object...) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCreator.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCreator.java index 9defa7ab2..b77a4b1d6 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCreator.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/PreparedStatementCreator.java @@ -32,13 +32,14 @@ import com.datastax.driver.core.exceptions.DriverException; * @see CqlTemplate#execute(PreparedStatementCreator, PreparedStatementCallback) * @see CqlTemplate#query(PreparedStatementCreator, RowCallbackHandler) */ +@FunctionalInterface public interface PreparedStatementCreator { /** * Create a statement in this session. Allows implementations to use {@link PreparedStatement}. * - * @param session {@link Session} to use to create statement - * @return a prepared statement + * @param session {@link Session} to use to create statement. + * @return a prepared statement. * @throws DriverException there is no need to catch {@link DriverException} that may be thrown in the implementation * of this method. The {@link CqlTemplate} class will handle them. */ diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCallback.java index 60dae4c73..32f0e3d00 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCallback.java @@ -38,6 +38,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @see ReactiveCqlTemplate#execute(ReactivePreparedStatementCreator, ReactivePreparedStatementCallback) * @see ReactiveCqlTemplate#execute(String, ReactivePreparedStatementCallback) */ +@FunctionalInterface public interface ReactivePreparedStatementCallback { /** @@ -53,7 +54,7 @@ public interface ReactivePreparedStatementCallback { * @param session active Cassandra session, must not be {@literal null}. * @param ps the {@link PreparedStatement}, must not be {@literal null}. * @return a result object publisher. - * @throws DriverException if thrown by a session method, to be auto-converted to a DataAccessException. + * @throws DriverException if thrown by a session method, to be auto-converted to a {@link DataAccessException}. * @throws DataAccessException in case of custom exceptions. * @see ReactiveCqlTemplate#queryForObject(String, Class, Object...) * @see ReactiveCqlTemplate#queryForFlux(String, Object...) diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCreator.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCreator.java index 6859aec52..5da71f2bc 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCreator.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactivePreparedStatementCreator.java @@ -37,6 +37,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @author Mark Paluch * @since 2.0 */ +@FunctionalInterface public interface ReactivePreparedStatementCreator { /** @@ -45,7 +46,7 @@ public interface ReactivePreparedStatementCreator { * overhead of re-preparing on the entire cluster. * * @param session Session to use to create statement, must not be {@literal null}. - * @return a prepared statement + * @return a prepared statement. * @throws DriverException there is no need to catch DriverException that may be thrown in the implementation of this * method. The {@link ReactiveCqlTemplate} class will handle them. */ diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveResultSetExtractor.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveResultSetExtractor.java index e64760678..40657ce64 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveResultSetExtractor.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveResultSetExtractor.java @@ -33,13 +33,13 @@ import com.datastax.driver.core.exceptions.DriverException; * Note: {@link ReactiveResultSetExtractor} object is typically stateless and thus reusable, as long as it doesn't * access stateful resources or keep result state within the object. * - * @param * @author Mark Paluch * @since 2.0 * @see ReactiveCqlTemplate * @see RowCallbackHandler * @see RowMapper */ +@FunctionalInterface public interface ReactiveResultSetExtractor { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveSessionCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveSessionCallback.java index b2d32d42f..d03e94051 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveSessionCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveSessionCallback.java @@ -48,9 +48,10 @@ public interface ReactiveSessionCallback { * application exception: it gets propagated to the caller of the template. * * @param session active Cassandra session. - * @return a result object publisher - * @throws DriverException if thrown by a session method, to be auto-converted to a DataAccessException - * @throws DataAccessException in case of custom exceptions + * @return a result object publisher. + * @throws DriverException if thrown by a session method, to be auto-converted to a {@link DataAccessException}. + * @throws DataAccessException in case of custom exceptions. + * @see ReactiveCqlTemplate#execute(ReactivePreparedStatementCreator, ReactivePreparedStatementCallback) */ Publisher doInSession(ReactiveSession session) throws DriverException, DataAccessException; } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveStatementCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveStatementCallback.java index ca3c5c368..099261581 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveStatementCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ReactiveStatementCallback.java @@ -45,12 +45,12 @@ public interface ReactiveStatementCallback { * application exception, it gets propagated to the caller of the template. * * @param session active Cassandra session. - * @param stmt CQL Statement - * @return a result object publisher - * @throws DriverException if thrown by a session method, to be auto-converted to a DataAccessException + * @param stmt CQL Statement. + * @return a result object publisher. + * @throws DriverException if thrown by a session method, to be auto-converted to a {@link DataAccessException} * @throws DataAccessException in case of custom exceptions - * @see ReactiveCqlTemplate#queryForObject(String, Class) - * @see ReactiveCqlTemplate#queryForResultSet(String) + * @see ReactiveCqlTemplate#query(String, ReactiveResultSetExtractor) + * @see ReactiveCqlTemplate#query(Statement, ReactiveResultSetExtractor) */ - Publisher doInStatement(ReactiveSession session, Statement stmt) throws DriverException; + Publisher doInStatement(ReactiveSession session, Statement stmt) throws DriverException, DataAccessException; } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ResultSetExtractor.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ResultSetExtractor.java index 6de385479..4db93212d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ResultSetExtractor.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/ResultSetExtractor.java @@ -34,24 +34,23 @@ import com.datastax.driver.core.exceptions.DriverException; * * @author Matthew T. Adams * @author Mark Paluch - * @since April 24, 2003 * @see AsyncCqlTemplate * @see CqlTemplate * @see RowCallbackHandler * @see RowMapper */ +@FunctionalInterface public interface ResultSetExtractor { /** * Implementations must implement this method to process the entire {@link ResultSet}. * * @param resultSet {@link ResultSet} to extract data from. - * @return an arbitrary result object, or {@code null} if none (the extractor will typically be stateful in the latter - * case). + * @return an arbitrary result object, or {@literal null} if none (the extractor will typically be stateful in the + * latter case). * @throws DriverException if a {@link DriverException} is encountered getting column values or navigating (that is, * there's no need to catch {@link DriverException}) * @throws DataAccessException in case of custom exceptions */ T extractData(ResultSet resultSet) throws DriverException, DataAccessException; - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowCallbackHandler.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowCallbackHandler.java index 71fbad1fd..bfe17c006 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowCallbackHandler.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowCallbackHandler.java @@ -45,7 +45,7 @@ public interface RowCallbackHandler { * Exactly what the implementation chooses to do is up to it: A trivial implementation might simply count rows, while * another implementation might build an XML document. * - * @param row the {@link Row} to process (pre-initialized for the current row) + * @param row the {@link Row} to process (pre-initialized for the current row). * @throws DriverException if a {@link DriverException} is encountered getting column values (that is, there's no need * to catch {@link DriverException}) */ diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowMapper.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowMapper.java index 782a5135f..61ff83c9f 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowMapper.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/RowMapper.java @@ -33,6 +33,7 @@ import com.datastax.driver.core.exceptions.DriverException; * @see RowCallbackHandler * @see ResultSetExtractor */ +@FunctionalInterface public interface RowMapper { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/SessionCallback.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/SessionCallback.java index 82920351f..03540172c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/SessionCallback.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/SessionCallback.java @@ -32,7 +32,9 @@ import com.datastax.driver.core.exceptions.DriverException; * @author Mark Paluch * @see CqlTemplate#execute(SessionCallback) * @see CqlTemplate#query + * @see CqlTemplate#execute(String) */ +@FunctionalInterface public interface SessionCallback { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/lookup/SessionFactoryLookup.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/lookup/SessionFactoryLookup.java index d006eff95..83403a6eb 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/lookup/SessionFactoryLookup.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/session/lookup/SessionFactoryLookup.java @@ -35,7 +35,7 @@ public interface SessionFactoryLookup { * their backing store. * * @param sessionFactoryName the name of the {@link SessionFactory}. - * @return the {@link SessionFactory} (never {@code null}) + * @return the {@link SessionFactory} (never {@code null}). * @throws SessionFactoryLookupFailureException if the lookup failed. */ SessionFactory getSessionFactory(String sessionFactoryName) throws SessionFactoryLookupFailureException; diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/support/PreparedStatementCache.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/support/PreparedStatementCache.java index 8b6625054..337760331 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/support/PreparedStatementCache.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/cql/support/PreparedStatementCache.java @@ -64,5 +64,4 @@ public interface PreparedStatementCache { */ PreparedStatement getPreparedStatement(Session session, RegularStatement statement, Supplier preparer); - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityMetadataVerifier.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityMetadataVerifier.java index c326eaaa0..a7ca652b0 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityMetadataVerifier.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/CassandraPersistentEntityMetadataVerifier.java @@ -23,13 +23,13 @@ import org.springframework.data.mapping.MappingException; * @author David Webb * @author Mark Paluch */ +@FunctionalInterface public interface CassandraPersistentEntityMetadataVerifier { /** * Performs verification on the Persistent Entity to ensure all markers and marker combinations are valid. * - * @param entity + * @param entity the entity to verify, must not be {@literal null}. */ void verify(CassandraPersistentEntity entity) throws MappingException; - } diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserTypeResolver.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserTypeResolver.java index d31ae56f1..7bdddaf5d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserTypeResolver.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/mapping/UserTypeResolver.java @@ -25,6 +25,7 @@ import com.datastax.driver.core.UserType; * @author Mark Paluch * @since 1.5 */ +@FunctionalInterface public interface UserTypeResolver { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Filter.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Filter.java index cf61aead2..37237de8d 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Filter.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/core/query/Filter.java @@ -27,6 +27,7 @@ import org.springframework.util.Assert; * @author Mark Paluch * @since 2.0 */ +@FunctionalInterface public interface Filter extends Iterable { /** diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryExecution.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryExecution.java index 3157cffba..7cae3dfd7 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryExecution.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/CassandraQueryExecution.java @@ -36,6 +36,7 @@ import com.datastax.driver.core.Statement; * @author Mark Paluch * @since 1.5 */ +@FunctionalInterface interface CassandraQueryExecution { Object execute(Statement statement, Class type); diff --git a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/ReactiveCassandraQueryExecution.java b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/ReactiveCassandraQueryExecution.java index fde488025..d4327227c 100644 --- a/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/ReactiveCassandraQueryExecution.java +++ b/spring-data-cassandra/src/main/java/org/springframework/data/cassandra/repository/query/ReactiveCassandraQueryExecution.java @@ -36,6 +36,7 @@ import com.datastax.driver.core.Statement; * @author Mark Paluch * @since 2.0 */ +@FunctionalInterface interface ReactiveCassandraQueryExecution { Object execute(Statement statement, Class type);