Classes

The following classes are available globally.

  • CBLArray provides read access to array data.

    See more

    Declaration

    Objective-C

    @interface CBLArray : NSObject <CBLArray, NSCopying, NSMutableCopying>

    Swift

    class CBLArray : NSObject, CBLArrayProtocol, NSCopying, NSMutableCopying
  • Authenticator objects provide server authentication credentials to the replicator. CBLAuthenticator is an abstract superclass; you must instantiate one of its subclasses. CBLAuthenticator is not meant to be subclassed by applications.

    See more

    Declaration

    Objective-C

    @interface CBLAuthenticator : NSObject

    Swift

    class CBLAuthenticator : NSObject
  • The CBLBasicAuthenticator class is an authenticator that will authenticate using HTTP Basic auth with the given username and password. This should only be used over an SSL/TLS connection, as otherwise it’s very easy for anyone sniffing network traffic to read the password.

    See more

    Declaration

    Objective-C

    @interface CBLBasicAuthenticator : CBLAuthenticator

    Swift

    class CBLBasicAuthenticator : CBLAuthenticator
  • A CBLBlob contains arbitrary binary data, tagged with a MIME type. Blobs can be arbitrarily large, and their data is loaded only on demand (when the content or contentStream properties are accessed), not when the document is loaded. The document’s raw JSON form only contains the CBLBlob’s metadata (type, length and a digest of the data) in a small object. The data itself is stored externally to the document, keyed by the digest.

    See more

    Declaration

    Objective-C

    @interface CBLBlob : NSObject

    Swift

    class CBLBlob : NSObject
  • Conflict class, which includes the conflicted documents.

    See more

    Declaration

    Objective-C

    @interface CBLConflict : NSObject

    Swift

    class CBLConflict : NSObject
  • Console logger for writing log messages to the system console.

    See more

    Declaration

    Objective-C

    @interface CBLConsoleLogger : NSObject <CBLLogger>

    Swift

    class CBLConsoleLogger : NSObject, CBLLogger
  • ENTERPRISE EDITION ONLY : UNCOMMITTED

    CBLCoreMLPredictiveModel is a Core ML based implementation of the CBLPredictiveModel protocol. Basically the CBLCoreMLPredictiveModel used a Core ML model to return prediction results.

    CBLCoreMLPredictiveModel automatically converts between Couchbase Lite data and Core ML data when calling into the MLModel object to return prediction results. All Core ML data types including Int64, Double, String, Dictionary, MultiArray, Image, and Sequence are supported.

    When the MLObject has a single input and the input type is Image, CBLCoreMLPredictiveModel will use Vision framework via the VNCoreMLModel to process the input image and call into the MLModel object. The CBLCoreMLPredictiveModel supports all VNObservation types including VNClassificationObservation, VNCoreMLFeatureValueObservation, and VNPixelBufferObservation as mentioned in https://developer.apple.com/documentation/vision/vncoremlrequest.

    However there is a compatibility limitation when the VNCoreMLModel returns VNCoreMLFeatureValueObservation or VNPixelBufferObservation results that the MLModel must return a single output, otherwise the observation outputs cannot be mapped to the MLModel outputs. When the VNCoreMLModel cannot be used to result the prediction result, CoreMLPredictiveModel will fall back to use the MLModel instead.

    When converting from blob data to VNPixelBuffer for an input image, only ARGB pixel format is currently supported. However this limitation is applied only when the VNCoreMLModel cannot be used.

    See more

    Declaration

    Objective-C

    
    @interface CBLCoreMLPredictiveModel : NSObject <CBLPredictiveModel>

    Swift

    class CBLCoreMLPredictiveModel : NSObject, CBLPredictiveModel
  • A Couchbase Lite database.

    See more

    Declaration

    Objective-C

    @interface CBLDatabase : NSObject

    Swift

    class CBLDatabase : NSObject
  • Database Change information

    See more

    Declaration

    Objective-C

    @interface CBLDatabaseChange : NSObject

    Swift

    class CBLDatabaseChange : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLDatabaseConfiguration : NSObject
    
    /**
     Path to the directory to store the database in. If the directory doesn't already exist it will
     be created when the database is opened. The default directory will be in Application Support.
     You won't usually need to change this.
     */
    @property (nonatomic, copy) NSString* directory;
    
    
    /**
     Initializes the CBLDatabaseConfiguration object.
     */
    - (instancetype) init;
    
    
    /**
     Initializes the CBLDatabaseConfiguration object with the configuration object.
    
     @param config The configuration object.
     @return The CBLDatabaseConfiguration object.
     */
    - (instancetype) initWithConfig: (nullable CBLDatabaseConfiguration*)config;
    
    @end

    Swift

    class CBLDatabaseConfiguration : NSObject
  • ENTERPRISE EDITION ONLY.

    Database based replication target endpoint. Available in the Enterprise Edition only.

    See more

    Declaration

    Objective-C

    @interface CBLDatabaseEndpoint : NSObject <CBLEndpoint>

    Swift

    class CBLDatabaseEndpoint : NSObject, CBLEndpoint
  • A Couchbase Lite document. The CBLDocument is immutable.

    See more

    Declaration

    Objective-C

    @interface CBLDocument : NSObject <CBLDictionary, NSMutableCopying>

    Swift

    class CBLDocument : NSObject, CBLDictionaryProtocol, NSMutableCopying
  • Document change information

    See more

    Declaration

    Objective-C

    @interface CBLDocumentChange : NSObject

    Swift

    class CBLDocumentChange : NSObject
  • CBLDocumentFragment provides access to a document object. CBLDocumentFragment also provides subscript access by either key or index to the data values of the document which are wrapped by CBLFragment objects.

    See more

    Declaration

    Objective-C

    @interface CBLDocumentFragment : NSObject <CBLDictionaryFragment>

    Swift

    class CBLDocumentFragment : NSObject, CBLDictionaryFragment
  • Document replication event

    See more

    Declaration

    Objective-C

    @interface CBLDocumentReplication : NSObject

    Swift

    class CBLDocumentReplication : NSObject
  • CBLReplicatedDocument contains the information of a document that has been replicated.

    See more

    Declaration

    Objective-C

    @interface CBLReplicatedDocument : NSObject

    Swift

    class CBLReplicatedDocument : NSObject
  • ENTERPRISE EDITION ONLY.

    An encryption key for a database. This is a symmetric key that be kept secret. It should be stored either in the Keychain, or in the user’s memory (hopefully not a sticky note.)

    See more

    Declaration

    Objective-C

    @interface CBLEncryptionKey : NSObject

    Swift

    class CBLEncryptionKey : NSObject
  • File logger used for writing log messages to files. To enable the file logger, setup the log file configuration and specifiy the log level as desired.

    It is important to configure your CBLLogFileConfiguration object appropriately before setting to a logger. Logger make a copy of the configuration settings you provide and use those settings to configure the logger. Once configured, the logger object ignores any changes you make to the CBLLogFileConfiguration object.

    See more

    Declaration

    Objective-C

    @interface CBLFileLogger : NSObject <CBLLogger>

    Swift

    class CBLFileLogger : NSObject, CBLLogger
  • CBLIndex represents an index which could be a value index for regular queries or full-text index for full-text queries (using the match operator).

    See more

    Declaration

    Objective-C

    @interface CBLIndex : NSObject

    Swift

    class CBLIndex : NSObject
  • IndexBuilder used for building database index objects.

    See more

    Declaration

    Objective-C

    @interface CBLIndexBuilder : NSObject

    Swift

    class CBLIndexBuilder : NSObject
  • Log allows to configure console and file logger or to set a custom logger.

    See more

    Declaration

    Objective-C

    @interface CBLLog : NSObject

    Swift

    class CBLLog : NSObject
  • Log file configuration.

    See more

    Declaration

    Objective-C

    @interface CBLLogFileConfiguration : NSObject

    Swift

    class CBLLogFileConfiguration : NSObject
  • ENTERPRISE EDITION ONLY.

    A message sent between message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessage : NSObject

    Swift

    class CBLMessage : NSObject
  • ENTERPRISE EDITION ONLY.

    The listener for incoming message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListener : NSObject

    Swift

    class CBLMessageEndpointListener : NSObject
  • ENTERPRISE EDITION ONLY.

    The configuration for the CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerConfiguration : NSObject

    Swift

    class CBLMessageEndpointListenerConfiguration : NSObject
  • ENTERPRISE EDITION ONLY.

    A change event posted by CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerChange : NSObject

    Swift

    class CBLMessageEndpointListenerChange : NSObject
  • ENTERPRISE EDITION ONLY.

    The messaging error.

    See more

    Declaration

    Objective-C

    @interface CBLMessagingError : NSObject

    Swift

    class CBLMessagingError : NSObject
  • The prediction model manager for registering and unregistering predictive models.

    See more

    Declaration

    Objective-C

    @interface CBLPrediction : NSObject

    Swift

    class CBLPrediction : NSObject
  • ENTERPRISE EDITION ONLY : UNCOMMITTED

    The predictive index used for querying with prediction function. The predictive index is different from the normal index in that the predictive index will cache the prediction result along with creating the value index of the prediction output properties.

    The PredictiveIndex can be created by using IndexBuilder’s predictiveIndex() function. If the prediction output properties are not specified, the predictive index will only cache the predictive result so that the predictive model will not be called again after indexing.

    See more

    Declaration

    Objective-C

    @interface CBLPredictiveIndex : CBLIndex

    Swift

    class CBLPredictiveIndex : CBLIndex
  • A database query. A CBLQuery instance can be constructed by calling one of the select methods.

    See more

    Declaration

    Objective-C

    @interface CBLQuery : NSObject

    Swift

    class CBLQuery : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLQueryArrayExpression : NSObject
    
    /**
     Creates a variable expression that represents an item in the array expression
     (ANY/ANY AND EVERY/EVERY <variable> IN <expr> SATISFIES <expr>).
     
     @param name The variable name.
     @return The variable expression.
     */
    + (CBLQueryVariableExpression*) variableWithName: (NSString*)name;
    
    /**
     Creates an ANY quantified operator (ANY <variable> IN <expr> SATISFIES <expr>)
     to evaluate expressions over an array. The ANY operator returns TRUE
     if at least one of the items in the array satisfies the given satisfies expression.
     
     @param variable The variable expression.
     @param inExpression The IN expression that can be evaluated as an array value.
     @param satisfies The expression to be evaluated with.
     @return The ANY quantifies operator.
     */
    + (CBLQueryExpression*) any: (CBLQueryVariableExpression*)variable
                             in: (CBLQueryExpression*)inExpression
                      satisfies: (CBLQueryExpression*)satisfies;
    
    /**
     Creates an ANY AND EVERY quantified operator (ANY AND EVERY <variable name> IN <expr>
     SATISFIES <expr>) to evaluate expressions over an array. The ANY AND EVERY operator
     returns TRUE if the array is NOT empty, and at least one of the items in the array
     satisfies the given satisfies expression.
     
     @param variable The variable expression.
     @param inExpression The IN expression that can be evaluated as an array value.
     @param satisfies The expression to be evaluated with.
     @return The ANY AND EVERY quantifies operator.
     */
    + (CBLQueryExpression*) anyAndEvery: (CBLQueryVariableExpression*)variable
                                     in: (CBLQueryExpression*)inExpression
                              satisfies: (CBLQueryExpression*)satisfies;
    
    /**
     Creates an EVERY quantified operator (ANY <variable name> IN <expr> SATISFIES <expr>)
     to evaluate expressions over an array. The EVERY operator returns TRUE
     if the array is empty OR every item in the array satisfies the given satisfies expression.
     
     @param variable The variable expression.
     @param inExpression The IN expression that can be evaluated as an array value.
     @param satisfies The expression to be evaluated with.
     @return The EVERY quantifies operator.
     */
    + (CBLQueryExpression*) every: (CBLQueryVariableExpression*)variable
                               in: (CBLQueryExpression*)inExpression
                        satisfies: (CBLQueryExpression*)satisfies;
    
    /** Not available */
    - (instancetype) init NS_UNAVAILABLE;
    
    @end

    Swift

    class CBLQueryArrayExpression : NSObject
  • CBLQueryArrayFunction provides array based functions.

    See more

    Declaration

    Objective-C

    @interface CBLQueryArrayFunction : NSObject

    Swift

    class CBLQueryArrayFunction : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLQueryBuilder : NSObject
    
    // SELECT > FROM
    
    /**
     Create a query from the select and from component.
     
     @param select The select component reresenting the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from;
    
    /**
     Create a distinct query from the select and from component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from;
    
    // SELECT > FROM > WHERE
    
    /**
     Create a query from the select, from, and where component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                   where: (nullable CBLQueryExpression*)where;
    
    /**
     Create a distinct query from the select, from, and where component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                           where: (nullable CBLQueryExpression*)where;
    
    // SELECT > FROM > WHERE > ORDER BY
    
    /**
     Create a query from the select, from, where, and order by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                   where: (nullable CBLQueryExpression*)where
                 orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings;
    
    /**
     Create a distinct query from the select, from, where, and order by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                           where: (nullable CBLQueryExpression*)where
                         orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings;
    
    // SELECT > FROM > WHERE > GROUP BY
    
    /**
     Create a query from the select, from, where, and group by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy;
    
    /**
     Create a distinct query from the select, from, where and group by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy;
    
    // SELECT > FROM > WHERE > GROUP BY > HAVING
    
    /**
     Create a query from the select, from, where, groupby and having component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                  having: (nullable CBLQueryExpression*)having;
    
    /**
     Create a distinct query from the select, from, where, groupby and having component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                          having: (nullable CBLQueryExpression*)having;
    
    // SELECT > FROM > WHERE > GROUP BY > HAVING > ORDER BY > LIMIT
    
    /**
     Create a query from the select, from, where, groupby, having, order by, and limit component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @param limit The limit component representing the LIMIT clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                  having: (nullable CBLQueryExpression*)having
                 orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings
                   limit: (nullable CBLQueryLimit*)limit;
    
    /**
     Create a distinct query from the select, from, where, groupby, having, order by,
     and limit component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @param limit The limit component representing the LIMIT clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                          having: (nullable CBLQueryExpression*)having
                         orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings
                           limit: (nullable CBLQueryLimit*)limit;
    
    // SELECT > FROM > JOIN
    
    /**
     Create a query from the select, from, and join component.
     
     @param select The select component reresenting the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join;
    
    /**
     Create a distinct query from the select from, and join component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join;
    
    // SELECT > FROM > JOIN > WHERE
    
    /**
     Create a query from the select, from, join and where component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join
                   where: (nullable CBLQueryExpression*)where;
    
    /**
     Create a distinct query from the select, from, join and where component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join
                           where: (nullable CBLQueryExpression*)where;
    
    // SELECT > FROM > JOIN > WHERE > GROUP BY
    
    /**
     Create a query from the select, from, join, where, and group by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy;
    
    
    /**
     Create a distinct query from the select, from, join, where, and groupby component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy;
    
    // SELECT > FROM > JOIN > WHERE > GROUP BY > HAVING
    
    /**
     Create a query from the select, from, join, where, grop by, and having component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                  having: (nullable CBLQueryExpression*)having;
    
    
    /**
     Create a distinct query from the select, from, join, where, gropu by and having component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                          having: (nullable CBLQueryExpression*)having;
    
    // SELECT > FROM > JOIN > WHERE > ORDER BY
    
    /**
     Create a query from the select, from, join, where and order by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join
                   where: (nullable CBLQueryExpression*)where
                 orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings;
    
    /**
     Create a distinct query from the select, from, join, where, and order by component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join
                           where: (nullable CBLQueryExpression*)where
                         orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings;
    
    // SELECT > FROM > JOIN > WHERE > GROUP BY > HAVING > ORDER BY > LIMIT
    
    /**
     Create a query from the select, from, join, where, group by, having, order by, and limit component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @param orderings The orderings components representing the ORDER BY clause of the query.
     @param limit The limit component representing the LIMIT clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) select: (NSArray<CBLQuerySelectResult*>*)select
                    from: (CBLQueryDataSource*)from
                    join: (nullable NSArray<CBLQueryJoin*>*)join
                   where: (nullable CBLQueryExpression*)where
                 groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                  having: (nullable CBLQueryExpression*)having
                 orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings
                   limit: (nullable CBLQueryLimit*)limit;
    
    /**
     Create a distinct query from the select, from, join, where, group by, having, order by and
     limit component.
     
     @param select The select component representing the SELECT clause of the query.
     @param from The from component representing the FROM clause of the query.
     @param join The join components representing the JOIN clause of the query.
     @param where The where component representing the WHERE clause of the query.
     @param groupBy The group by expressions representing the GROUP BY clause of the query.
     @param having The having component representing the HAVING clause of the query.
     @param orderings The ordering components representing the ORDER BY clause of the query.
     @param limit The limit component representing the LIMIT clause of the query.
     @return The CBLQuery instance.
     */
    + (CBLQuery*) selectDistinct: (NSArray<CBLQuerySelectResult*>*)select
                            from: (CBLQueryDataSource*)from
                            join: (nullable NSArray<CBLQueryJoin*>*)join
                           where: (nullable CBLQueryExpression*)where
                         groupBy: (nullable NSArray<CBLQueryExpression*>*)groupBy
                          having: (nullable CBLQueryExpression*)having
                         orderBy: (nullable NSArray<CBLQueryOrdering*>*)orderings
                           limit: (nullable CBLQueryLimit*)limit;
    
    /** Not available */
    - (instancetype) init NS_UNAVAILABLE;
    
    @end

    Swift

    class CBLQueryBuilder : NSObject
  • CBLQueryChange contains the information about the query result changes reported by a live query object.

    See more

    Declaration

    Objective-C

    @interface CBLQueryChange : NSObject

    Swift

    class CBLQueryChange : NSObject
  • CBLQueryCollation defines how strings are compared and is used when creating a COLLATE expression. The COLLATE expression can be used in the WHERE clause when comparing two strings or in the ORDER BY clause when specifying how the order of the query results. CouchbaseLite provides two types of the Collation, ASCII and Unicode. Without specifying the COLLATE expression Couchbase Lite will use the ASCII with case sensitive collation by default.

    See more

    Declaration

    Objective-C

    @interface CBLQueryCollation : NSObject

    Swift

    class CBLQueryCollation : NSObject
  • A query data source. used for specifiying the data source for your query. The current data source supported is the database.

    See more

    Declaration

    Objective-C

    @interface CBLQueryDataSource : NSObject

    Swift

    class CBLQueryDataSource : NSObject
  • A CBLQueryExpression represents an expression used for constructing a query statement.

    See more

    Declaration

    Objective-C

    @interface CBLQueryExpression : NSObject

    Swift

    class CBLQueryExpression : NSObject
  • Full-text expression.

    See more

    Declaration

    Objective-C

    @interface CBLQueryFullTextExpression : NSObject

    Swift

    class CBLQueryFullTextExpression : NSObject
  • Full-text function.

    See more

    Declaration

    Objective-C

    @interface CBLQueryFullTextFunction : NSObject

    Swift

    class CBLQueryFullTextFunction : NSObject
  • CBLQueryFunction provides query functions.

    See more

    Declaration

    Objective-C

    @interface CBLQueryFunction : NSObject

    Swift

    class CBLQueryFunction : NSObject
  • ENTERPRISE EDITION ONLY : UNCOMMITTED

    CBLQueryPredictionFunction that allows to create an expression that refers to one of the properties of the prediction result dictionary.

    See more

    Declaration

    Objective-C

    @interface CBLQueryPredictionFunction : CBLQueryExpression

    Swift

    class CBLQueryPredictionFunction : CBLQueryExpression
  • A CBLQueryJoin represents the JOIN clause in the query statement.

    See more

    Declaration

    Objective-C

    @interface CBLQueryJoin : NSObject

    Swift

    class CBLQueryJoin : NSObject
  • A CBLQueryLimit represents a query LIMIT clause used for constrainting the number of results returned by a query.

    See more

    Declaration

    Objective-C

    @interface CBLQueryLimit : NSObject

    Swift

    class CBLQueryLimit : NSObject
  • CBLQueryMeta is a factory class for creating the expressions that refers to the metadata properties of the document.

    See more

    Declaration

    Objective-C

    @interface CBLQueryMeta : NSObject

    Swift

    class CBLQueryMeta : NSObject
  • A CBLQueryOrdering represents a single ordering component in the query ORDER BY clause.

    See more

    Declaration

    Objective-C

    @interface CBLQueryOrdering : NSObject

    Swift

    class CBLQueryOrdering : NSObject
  • CBLQuerySortOrder allows to specify the ordering direction which is an ascending or a descending order

    See more

    Declaration

    Objective-C

    @interface CBLQuerySortOrder : CBLQueryOrdering

    Swift

    class CBLQuerySortOrder : CBLQueryOrdering
  • Query parameters used for setting values to the query parameters defined in the query.

    See more

    Declaration

    Objective-C

    @interface CBLQueryParameters : NSObject

    Swift

    class CBLQueryParameters : NSObject
  • CBLQueryResult represents a single row in the query result. The projecting result value can be accessed either by using a zero based index or by a key corresponding to the CBLQuerySelectResult objects given when constructing the CBLQuery object.

    A key used for accessing the projecting result value could be one of the followings:

    • The alias name of the CBLQuerySelectResult object.
    • The last component of the keypath or property name of the property expression used when creating the CBLQuerySelectResult object.
    • The provision key in $1, $2, …$N format for the CBLQuerySelectResult that doesn’t have an alias name specified or is not a property expression such as an aggregate function expression (e.g. count(), avg(), min(), max(), sum() and etc). The number suffix after the ‘$’ character is a running number starting from one.
    See more

    Declaration

    Objective-C

    @interface CBLQueryResult : NSObject <CBLArray, CBLDictionary>

    Swift

    class CBLQueryResult : NSObject, CBLArrayProtocol, CBLDictionaryProtocol
  • CBLQueryResultSet is a result returned from a query. The CBLQueryResultSet is an NSEnumerator of the CBLQueryResult objects, each of which represent a single row in the query result.

    See more

    Declaration

    Objective-C

    @interface CBLQueryResultSet : NSEnumerator <CBLQueryResult *>

    Swift

    class CBLQueryResultSet : NSEnumerator
  • A CBLQuerySelectResult represents a returning value in each query result row.

    See more

    Declaration

    Objective-C

    @interface CBLQuerySelectResult : NSObject

    Swift

    class CBLQuerySelectResult : NSObject
  • Combined activity level and progress of a replicator.

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorStatus : NSObject

    Swift

    class CBLReplicatorStatus : NSObject
  • A replicator for replicating document changes between a local database and a target database. The replicator can be bidirectional or either push or pull. The replicator can also be one-short or continuous. The replicator runs asynchronously, so observe the status property to be notified of progress.

    See more

    Declaration

    Objective-C

    @interface CBLReplicator : NSObject

    Swift

    class CBLReplicator : NSObject
  • Replicator status change details.

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorChange : NSObject

    Swift

    class CBLReplicatorChange : NSObject
  • Replicator Configuration

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorConfiguration : NSObject

    Swift

    class CBLReplicatorConfiguration : NSObject