diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java index 841815b4..d542938d 100644 --- a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java +++ b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheConfiguration.java @@ -64,7 +64,7 @@ public class CouchbaseCacheConfiguration { * * @param registry must not be {@literal null}. */ public static void registerDefaultConverters(final ConverterRegistry registry) { diff --git a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java index a96c8e16..3e35ed68 100644 --- a/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java +++ b/src/main/java/org/springframework/data/couchbase/cache/CouchbaseCacheManager.java @@ -228,7 +228,7 @@ public class CouchbaseCacheManager extends AbstractTransactionSupportingCacheMan /** * Disable in-flight {@link org.springframework.cache.Cache} creation for unconfigured caches. - *

+ *

* {@link CouchbaseCacheManager#getMissingCache(String)} returns {@literal null} for any unconfigured * {@link org.springframework.cache.Cache} instead of a new {@link CouchbaseCache} instance. This allows eg. * {@link org.springframework.cache.support.CompositeCacheManager} to chime in. diff --git a/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java b/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java index 2c9ff971..7992d2ba 100644 --- a/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java +++ b/src/main/java/org/springframework/data/couchbase/config/AbstractCouchbaseConfiguration.java @@ -254,8 +254,6 @@ public abstract class AbstractCouchbaseConfiguration { /** * Creates a {@link MappingCouchbaseConverter} using the configured {@link #couchbaseMappingContext}. - * - * @throws Exception on Bean construction failure. */ @Bean public MappingCouchbaseConverter mappingCouchbaseConverter(CouchbaseMappingContext couchbaseMappingContext, @@ -283,7 +281,6 @@ public abstract class AbstractCouchbaseConfiguration { /** * Creates a {@link CouchbaseMappingContext} equipped with entity classes scanned from the mapping base package. * - * @throws Exception on Bean construction failure. */ @Bean public CouchbaseMappingContext couchbaseMappingContext(CustomConversions customConversions) throws Exception { @@ -299,7 +296,6 @@ public abstract class AbstractCouchbaseConfiguration { /** * Creates a {@link ObjectMapper} for the jsonSerializer of the ClusterEnvironment * - * @throws Exception on Bean construction failure. * @return ObjectMapper */ @@ -337,11 +333,9 @@ public abstract class AbstractCouchbaseConfiguration { /** * Return the base package to scan for mapped {@link Document}s. Will return the package name of the configuration * class (the concrete class, not this one here) by default. - *

*

* So if you have a {@code com.acme.AppConfig} extending {@link AbstractCouchbaseConfiguration} the base package will * be considered {@code com.acme} unless the method is overridden to implement alternate behavior. - *

* * @return the base package to scan for mapped {@link Document} classes or {@literal null} to not enable scanning for * entities. diff --git a/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java b/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java index 3ae3cb21..5ff35153 100644 --- a/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java +++ b/src/main/java/org/springframework/data/couchbase/core/CouchbaseExceptionTranslator.java @@ -33,7 +33,7 @@ import com.couchbase.client.core.error.*; /** * Simple {@link PersistenceExceptionTranslator} for Couchbase. - *

+ *

* Convert the given runtime exception to an appropriate exception from the {@code org.springframework.dao} hierarchy. * Return {@literal null} if no translation is appropriate: any other exception may have resulted from user code, and * should not be translated. diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java b/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java index bfffbe51..f99ca1c0 100644 --- a/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java +++ b/src/main/java/org/springframework/data/couchbase/core/convert/CouchbaseCustomConversions.java @@ -24,11 +24,9 @@ import org.springframework.data.mapping.model.SimpleTypeHolder; /** * Value object to capture custom conversion. - *

*

* Types that can be mapped directly onto JSON are considered simple ones, because they neither need deeper inspection * nor nested conversion. - *

* * @author Michael Nitschinger * @author Oliver Gierke diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java b/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java index b68dc4f9..89e163f8 100644 --- a/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java +++ b/src/main/java/org/springframework/data/couchbase/core/convert/CustomConversions.java @@ -20,11 +20,9 @@ import java.util.List; /** * Value object to capture custom conversion. - *

*

* Types that can be mapped directly onto JSON are considered simple ones, because they neither need deeper inspection * nor nested conversion. - *

* * @author Michael Nitschinger * @author Oliver Gierke diff --git a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java index 46785368..1e7162d0 100644 --- a/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java +++ b/src/main/java/org/springframework/data/couchbase/core/convert/MappingCouchbaseConverter.java @@ -816,7 +816,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem /** * COPIED Set the {@link EntityCallbacks} instance to use when invoking * {@link org.springframework.data.mapping.callback.EntityCallback callbacks} like the {@link AfterConvertCallback}. - *

+ *

* Overrides potentially existing {@link EntityCallbacks}. * * @param entityCallbacks must not be {@literal null}. diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java b/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java index d5e61466..19fb1a99 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/BasicCouchbasePersistentProperty.java @@ -32,11 +32,9 @@ import com.couchbase.client.core.deps.com.fasterxml.jackson.annotation.JsonPrope /** * Implements annotated property representations of a given {@link Field} instance. - *

*

* This object is used to gather information out of properties on objects that need to be persisted. For example, it * supports overriding of the actual property name by providing custom annotations. - *

* * @author Michael Nitschinger * @author Mark Paluch @@ -71,7 +69,7 @@ public class BasicCouchbasePersistentProperty extends AnnotationBasedPersistentP /** * Returns the field name of the property. - *

+ *

* The field name can be different from the actual property name by using a custom annotation. */ @Override diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java index 26a6834d..a7ca373e 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseDocument.java @@ -23,18 +23,14 @@ import java.util.Map; /** * A {@link CouchbaseDocument} is an abstract representation of a document stored inside Couchbase Server. - *

*

* It acts like a {@link HashMap}, but only allows those types to be written that are supported by the underlying * storage format, which is currently JSON. Note that JSON conversion is not happening here, but performed at a * different stage based on the payload stored in the {@link CouchbaseDocument}. - *

- *

*

* In addition to the actual content, meta data is also stored. This especially refers to the document ID and its * expiration time. Note that this information is not mandatory, since documents can be nested and therefore only the * topmost document most likely has an ID. - *

* * @author Michael Nitschinger */ @@ -114,7 +110,7 @@ public class CouchbaseDocument implements CouchbaseStorable { /** * Returns the current payload, including all recursive elements. - *

+ *

* It either returns the raw results or makes sure that the recusrive elements are also exported properly. * * @return @@ -187,10 +183,8 @@ public class CouchbaseDocument implements CouchbaseStorable { /** * Returns the underlying payload. - *

*

* Note that unlike {@link #export()}, the nested objects are not converted, so the "raw" map is returned. - *

* * @return the underlying payload. */ @@ -221,7 +215,7 @@ public class CouchbaseDocument implements CouchbaseStorable { /** * Returns the expiration time of the document. - *

+ *

* If the expiration time is 0, then the document will be persisted until deleted manually ("forever"). * * @return the expiration time of the document. @@ -232,9 +226,9 @@ public class CouchbaseDocument implements CouchbaseStorable { /** * Set the expiration time of the document. - *

+ *

* If the expiration time is 0, then the document will be persisted until deleted manually ("forever"). - *

+ *

* Expiration should be expressed as seconds if <= 30 days (30 x 24 x 60 x 60 seconds), or as an expiry date (UTC, * UNIX time ie. seconds form the Epoch) if > 30 days. * diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java index 4a1b90e9..7280e8e3 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseList.java @@ -25,11 +25,9 @@ import org.springframework.data.mapping.model.SimpleTypeHolder; /** * A {@link CouchbaseList} is an abstract list that represents an array stored in a (most of the times JSON) document. - *

*

* This {@link CouchbaseList} is part of the potentially nested structure inside one or more {@link CouchbaseDocument}s. * It can also contain them recursively, depending on how the document is modeled. - *

*/ public class CouchbaseList implements CouchbaseStorable { @@ -145,7 +143,7 @@ public class CouchbaseList implements CouchbaseStorable { /** * Returns the current payload, including all recursive elements. - *

+ *

* It either returns the raw results or makes sure that the recusrive elements are also exported properly. * * @return diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java index 8d236d32..195e7eb3 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentEntity.java @@ -34,7 +34,7 @@ public interface CouchbasePersistentEntity extends PersistentEntity + *

* The Couchbase format for expiration time is: - for TTL < 31 days (<= 30 * 24 * 60 * 60): expressed as a TTL in * seconds - for TTL > 30 days: expressed as Unix UTC time of expiry (number of SECONDS since the Epoch) * @@ -45,7 +45,7 @@ public interface CouchbasePersistentEntity extends PersistentEntity + *

* The Couchbase format for expiration time is: - for TTL < 31 days (<= 30 * 24 * 60 * 60): expressed as a TTL in * seconds - for TTL > 30 days: expressed as Unix UTC time of expiry (number of SECONDS since the Epoch) * diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java index 7525f6c4..f279e1d8 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbasePersistentProperty.java @@ -27,7 +27,7 @@ public interface CouchbasePersistentProperty extends PersistentProperty + *

* The field name can be different from the actual property name by using a custom annotation. */ String getFieldName(); diff --git a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java index 965acbbb..f985940b 100644 --- a/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java +++ b/src/main/java/org/springframework/data/couchbase/core/mapping/CouchbaseStorable.java @@ -18,7 +18,7 @@ package org.springframework.data.couchbase.core.mapping; /** * Marker Interface to identify either a {@link CouchbaseDocument} or a {@link CouchbaseList}. - *

+ *

* This interface will be extended in the future to refactor the needed infrastructure into the common interface. * * @author Michael Nitschinger diff --git a/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java b/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java index a4d1e403..d1b1533a 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/N1qlSecondaryIndexed.java @@ -26,10 +26,10 @@ import org.springframework.data.couchbase.repository.CouchbaseRepository; /** * This annotation is targeted at {@link CouchbaseRepository Repository} interfaces, indicating that the framework * should ensure a N1QL Secondary Index is present when the repository is instantiated. - *

+ *

* Said index will relate to the "type" field (the one bearing type information) and restrict on documents that match * the repository's entity class. - *

+ *

* Be sure to also use {@link N1qlPrimaryIndexed} to make sure the PRIMARY INDEX is there as well. * * @author Simon Baslé diff --git a/src/main/java/org/springframework/data/couchbase/core/query/Query.java b/src/main/java/org/springframework/data/couchbase/core/query/Query.java index cfcbf7d8..41d0a630 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/Query.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/Query.java @@ -383,7 +383,6 @@ public class Query { * This will find annotations included in composed annotations as well. Ideally * * @param method representing the query. - * @return the query with the annotations applied */ public void setMeta(CouchbaseQueryMethod method, Class typeToRead) { meta = OptionsBuilder.buildMeta(method, typeToRead); diff --git a/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java b/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java index 47248e62..8ae78894 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/StringQuery.java @@ -28,7 +28,7 @@ import com.couchbase.client.java.json.JsonValue; * *

  * @Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and firstname = $1 and lastname = $2")
- * List getByFirstnameAndLastname(String firstname, String lastname);
+ * List<User> getByFirstnameAndLastname(String firstname, String lastname);
  * 
* * It must include the SELECT ... FROM ... preferably via the #n1ql expression, in addition to any predicates required, diff --git a/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java b/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java index 43b21215..0383cd6b 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/ViewIndexed.java @@ -26,10 +26,10 @@ import org.springframework.data.couchbase.repository.CouchbaseRepository; /** * This annotation is targeted at {@link CouchbaseRepository Repository} interfaces, indicating that the framework * should ensure a View is present when the repository is instantiated. - *

+ *

* The view must at least be described as a design document name and view name. Default map function will filter * documents on the type associated to the repository, and default reduce function is "_count". - *

+ *

* One can specify a custom reduce function as well as a non-default map function. * * @author Simon Baslé diff --git a/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java b/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java index e44bc787..0b1daa14 100644 --- a/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java +++ b/src/main/java/org/springframework/data/couchbase/core/query/WithConsistency.java @@ -30,7 +30,7 @@ import com.couchbase.client.java.query.QueryScanConsistency; /** * Annotation to set the scan consistency of N1QL queries with Couchbase. This controls whether couchbase waits for all * changes to be processed by an index or whether stale results are acceptable. - *

+ *

* If not set, the default consistency set in {@link AbstractCouchbaseConfiguration#getDefaultConsistency()} is used. * * @author Johannes Jasper. diff --git a/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java b/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java index ea3a7fac..5c5104e2 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/AnyId.java @@ -18,7 +18,7 @@ package org.springframework.data.couchbase.core.support; import java.util.Collection; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * @param - the entity class diff --git a/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java b/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java index 9bd97ae1..daae7ed8 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/AnyIdReactive.java @@ -21,7 +21,7 @@ import reactor.core.publisher.Mono; import java.util.Collection; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T%gt;) * * @author Michael Reiche * @param - the entity class diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java index cacad7ec..b5b147e8 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAll.java @@ -20,7 +20,7 @@ import java.util.Optional; import java.util.stream.Stream; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java index be028fa8..51017417 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntity.java @@ -18,7 +18,7 @@ package org.springframework.data.couchbase.core.support; import java.util.Collection; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java index 67fbba7b..74bdd0e6 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllEntityReactive.java @@ -21,7 +21,7 @@ import reactor.core.publisher.Mono; import java.util.Collection; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * @param - the entity class diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java index 1b4041ae..382ed211 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExists.java @@ -21,11 +21,9 @@ import java.util.Optional; import java.util.stream.Stream; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche - * - * @param - the entity class */ public interface OneAndAllExists { boolean one(String id); diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java index 67487c3b..2b346f15 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllExistsReactive.java @@ -21,11 +21,10 @@ import java.util.Collection; import java.util.Map; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * - * @param - the entity class */ public interface OneAndAllExistsReactive { Mono one(String id); diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java index 370388c0..25c3baef 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllId.java @@ -18,7 +18,7 @@ package org.springframework.data.couchbase.core.support; import java.util.Collection; /** - * A common interface for those that support one(String), all(Collection) + * A common interface for those that support one(String), all(Collection<String>) * * @author Michael Reiche * diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java index 5c8b74f2..beea8903 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllIdReactive.java @@ -21,7 +21,7 @@ import reactor.core.publisher.Mono; import java.util.Collection; /** - * A common interface for those that support one(String), all(Collection) + * A common interface for those that support one(String), all(Collection<String>) * * @author Michael Reiche * @param - the entity class diff --git a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java index 7e5414da..0e0b0487 100644 --- a/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java +++ b/src/main/java/org/springframework/data/couchbase/core/support/OneAndAllReactive.java @@ -23,7 +23,7 @@ import java.util.Optional; import java.util.stream.Stream; /** - * A common interface for those that support one(T), all(Collection) + * A common interface for those that support one(T), all(Collection<T>) * * @author Michael Reiche * @param - the entity class diff --git a/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java b/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java index c97f9b9e..128bdb8d 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java +++ b/src/main/java/org/springframework/data/couchbase/repository/DynamicProxyable.java @@ -26,7 +26,7 @@ import com.couchbase.client.java.CommonOptions; /** * The generic parameter needs to be REPO which is either a CouchbaseRepository parameterized on T,ID or a * ReactiveCouchbaseRepository parameterized on T,ID. i.e.: interface AirportRepository extends - * CouchbaseRepository, DynamicProxyable + * CouchbaseRepository<Airport, String>, DynamicProxyable<AirportRepository> * * @param * @author Michael Reiche diff --git a/src/main/java/org/springframework/data/couchbase/repository/Query.java b/src/main/java/org/springframework/data/couchbase/repository/Query.java index 21562a78..86bf78f3 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/Query.java +++ b/src/main/java/org/springframework/data/couchbase/repository/Query.java @@ -23,23 +23,25 @@ import java.lang.annotation.Target; import org.springframework.data.annotation.QueryAnnotation; import org.springframework.data.couchbase.core.CouchbaseTemplate; +import org.springframework.data.couchbase.repository.query.StringBasedN1qlQueryParser; +import org.springframework.data.couchbase.repository.query.StringN1qlQueryCreator; /** - * Annotation to support the use of N1QL queries with Couchbase. - *

+ * Annotation to support the use of N1QL queries with Couchbase. Queries are crated by {@link StringN1qlQueryCreator} + *

* Using it without parameter will resolve the query from the method name. Providing a value (an inline N1QL statement) * will execute that statement instead. - *

+ *

* In this case, one can use a placeholder notation of {@code ?0}, {@code ?1} and so on. - *

+ *

* Also, SpEL in the form #{spelExpression} is supported, including the following N1QL variables that will * be replaced by the underlying {@link CouchbaseTemplate} associated information: *

* * @author Simon Baslé. diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java b/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java index 918192c9..187391e6 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java +++ b/src/main/java/org/springframework/data/couchbase/repository/query/CountFragment.java @@ -18,9 +18,9 @@ package org.springframework.data.couchbase.repository.query; /** * An utility entity that allows to extract total row count out of a COUNT(*) N1QL query. - *

+ *

* The query should use the COUNT_ALIAS, eg.: SELECT COUNT(*) AS count FROM default; - *

+ *

* This ensures that the framework will be able to map the JSON result to this {@link CountFragment} class so that it * can be used. */ diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java b/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java index 0bda1358..b87f7203 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java +++ b/src/main/java/org/springframework/data/couchbase/repository/query/OldN1qlQueryCreator.java @@ -75,7 +75,6 @@ import com.couchbase.client.java.json.JsonValue; *

- *

* * @author Simon Baslé * @author Subhashni Balakrishnan diff --git a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java b/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java index 522b018e..df606b42 100644 --- a/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java +++ b/src/main/java/org/springframework/data/couchbase/repository/query/support/N1qlUtils.java @@ -26,6 +26,7 @@ import org.springframework.core.convert.converter.Converter; import org.springframework.data.couchbase.core.convert.CouchbaseConverter; import org.springframework.data.couchbase.core.mapping.CouchbasePersistentEntity; import org.springframework.data.couchbase.core.mapping.CouchbasePersistentProperty; +import org.springframework.data.couchbase.core.mapping.Field; import org.springframework.data.couchbase.core.query.N1QLExpression; import org.springframework.data.couchbase.core.query.N1QLQuery; import org.springframework.data.couchbase.repository.query.CouchbaseEntityInformation;