Skip to content

Commit c63a30a

Browse files
committed
SCBC-486: Change case class creation for Scala 3
Make all public interface input case classes have public constructors. Currently case classes cannot be created in Scala 3, as the automatically generated object apply() method matches the visibility of the case class constructor. In Scala 2, it remains public. The upshot is: users cannot create these case classes at all, in Scala 3. (There are no issues with Scala 2). We not currently support or test Scala 3, and that continues to be the case. However, using the Scala 2 SDK has previously worked from Scala 3, and this small tweak will restore that functionality. Change-Id: I636afbb140865c8d31007cefbfb8e52545806350 Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/228227 Tested-by: Build Bot <[email protected]> Reviewed-by: Graham Pople <[email protected]> (cherry picked from commit 2a6f845) Reviewed-on: https://review.couchbase.org/c/couchbase-jvm-clients/+/228418 Reviewed-by: David Nault <[email protected]>
1 parent 32b130f commit c63a30a

File tree

13 files changed

+15
-15
lines changed

13 files changed

+15
-15
lines changed

scala-client/src/main/scala/com/couchbase/client/scala/analytics/AnalyticsOptions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import scala.concurrent.duration.Duration
3030
* @author Graham Pople
3131
* @since 1.0.0
3232
*/
33-
case class AnalyticsOptions private (
33+
case class AnalyticsOptions (
3434
private[scala] val parameters: Option[AnalyticsParameters] = None,
3535
private[scala] val clientContextId: Option[String] = None,
3636
private[scala] val retryStrategy: Option[RetryStrategy] = None,

scala-client/src/main/scala/com/couchbase/client/scala/manager/collection/CollectionSpec.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import scala.concurrent.duration.Duration
2525
* @param expiry any configured TTL for newly created documents on this collection. Older server versions will not have this setting, in which case it will be `None`.
2626
* @param history whether history retention is enabled on this collection. Older server versions will not have this setting, in which case it will be `None`.
2727
*/
28-
case class CollectionSpec private (
28+
case class CollectionSpec (
2929
name: String,
3030
scopeName: String,
3131
expiry: Option[Duration] = None,

scala-client/src/main/scala/com/couchbase/client/scala/search/queries/BooleanQuery.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import com.couchbase.client.core.api.search.queries.CoreBooleanQuery
2222
*
2323
* @since 1.0.0
2424
*/
25-
case class BooleanQuery private (
25+
case class BooleanQuery (
2626
private[scala] val must: Option[ConjunctionQuery] = None,
2727
private[scala] val should: Option[DisjunctionQuery] = None,
2828
private[scala] val mustNot: Option[DisjunctionQuery] = None,

scala-client/src/main/scala/com/couchbase/client/scala/search/result/SearchFacetResult.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ object SearchFacetResult {
6262
*
6363
* @since 1.0.0
6464
*/
65-
case class DateRange private (private val internal: CoreSearchDateRange) {
65+
case class DateRange (private val internal: CoreSearchDateRange) {
6666
def name: String = internal.name
6767

6868
def start: String = internal.start.toString
@@ -99,7 +99,7 @@ object SearchFacetResult {
9999
internal.numericRanges.asScala.toSeq.map(v => NumericRange(v))
100100
}
101101

102-
case class NumericRange private (private val internal: CoreSearchNumericRange) {
102+
case class NumericRange (private val internal: CoreSearchNumericRange) {
103103
def name: String = internal.name
104104

105105
def min: Double = internal.min
@@ -127,7 +127,7 @@ object SearchFacetResult {
127127
*
128128
* @since 1.0.0
129129
*/
130-
case class TermRange private (private val internal: CoreSearchTermRange) {
130+
case class TermRange (private val internal: CoreSearchTermRange) {
131131
def term: String = internal.name
132132

133133
def count: Long = internal.count

scala-client/src/main/scala/com/couchbase/client/scala/search/vector/SearchRequest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import scala.util.{Failure, Success, Try}
2828
*
2929
* If both are provided, the FS service will merge the results.
3030
*/
31-
case class SearchRequest private (
31+
case class SearchRequest (
3232
private val searchQuery: Option[SearchQuery] = None,
3333
private val vectorSearch: Option[VectorSearch] = None,
3434
private val deferredError: Option[Throwable] = None

scala-client/src/main/scala/com/couchbase/client/scala/search/vector/VectorQuery.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import com.couchbase.client.core.annotation.Stability.Uncommitted
2121
import com.couchbase.client.core.api.search.vector.{CoreVector, CoreVectorQuery}
2222

2323
/** Represents a vector query. */
24-
case class VectorQuery private (
24+
case class VectorQuery (
2525
private val vectorQuery: Either[Array[Float], String],
2626
private val vectorField: String,
2727
private val numCandidates: Option[Int] = None,

scala-client/src/main/scala/com/couchbase/client/scala/search/vector/VectorSearch.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import com.couchbase.client.core.api.search.vector.CoreVectorSearch
2121
import scala.collection.JavaConverters._
2222

2323
/** Allows one or more [[VectorQuery]]s to be executed. */
24-
case class VectorSearch private (
24+
case class VectorSearch (
2525
private val vectorQueries: Iterable[VectorQuery],
2626
private val vectorSearchOptions: Option[VectorSearchOptions] = None
2727
) {

scala-client/src/main/scala/com/couchbase/client/scala/search/vector/VectorSearchOptions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ object VectorQueryCombination {
3333
}
3434

3535
/** Options related to executing a [[VectorSearch]]. */
36-
case class VectorSearchOptions private (
36+
case class VectorSearchOptions (
3737
private val vectorQueryCombination: Option[VectorQueryCombination] = None
3838
) {
3939

scala-client/src/main/scala/com/couchbase/client/scala/transactions/TransactionQueryOptions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import com.couchbase.client.scala.query.{
2727

2828
/** Customize the execution of a N1QL query performed inside a transaction.
2929
*/
30-
case class TransactionQueryOptions private (
30+
case class TransactionQueryOptions (
3131
private[scala] val parameters: Option[QueryParameters] = None,
3232
private[scala] val clientContextId: Option[String] = None,
3333
private[scala] val pipelineBatch: Option[Int] = None,

scala-client/src/main/scala/com/couchbase/client/scala/transactions/config/SingleQueryTransactionOptions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import com.couchbase.client.scala.Collection
2323
/**
2424
* Allows configuring a single-query-transaction.
2525
*/
26-
case class SingleQueryTransactionOptions private (
26+
case class SingleQueryTransactionOptions (
2727
private val durabilityLevel: Option[DurabilityLevel] = None,
2828
private val attemptContextFactory: Option[TransactionAttemptContextFactory] = None,
2929
private val metadataCollection: Option[CollectionIdentifier] = None

0 commit comments

Comments
 (0)