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>
  • 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
  • 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
  • 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
  • ENTERPRISE EDITION ONLY.

    An authenticator that presents a client certificate to the server during the initial SSL/TLS handshake. This is currently used for authenticating with CBLURLEndpointListener only.

    See more

    Declaration

    Objective-C

    
    @interface CBLClientCertificateAuthenticator : CBLAuthenticator
  • Conflict class, which includes the conflicted documents.

    See more

    Declaration

    Objective-C

    @interface CBLConflict : NSObject
  • ConflictResolver class provides access to the default conflict resolver used by the replicator

    See more

    Declaration

    Objective-C

    @interface CBLConflictResolver : NSObject
  • Console logger for writing log messages to the system console.

    See more

    Declaration

    Objective-C

    @interface CBLConsoleLogger : NSObject <CBLLogger>
  • ENTERPRISE EDITION ONLY

    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>
  • A Couchbase Lite database.

    See more

    Declaration

    Objective-C

    @interface CBLDatabase : NSObject
  • Database Change information

    See more

    Declaration

    Objective-C

    @interface 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
  • ENTERPRISE EDITION ONLY.

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

    See more

    Declaration

    Objective-C

    @interface CBLDatabaseEndpoint : NSObject <CBLEndpoint>
  • CBLDictionary provides read access to dictionary data.

    See more

    Declaration

    Objective-C

    @interface CBLDictionary : NSObject <CBLDictionary, NSCopying, NSMutableCopying>
  • A Couchbase Lite document. The CBLDocument is immutable.

    See more

    Declaration

    Objective-C

    @interface CBLDocument : NSObject <CBLDictionary, NSMutableCopying>
  • Document change information

    See more

    Declaration

    Objective-C

    @interface 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>
  • Document replication event

    See more

    Declaration

    Objective-C

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

    See more

    Declaration

    Objective-C

    @interface 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
  • 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>
  • CBLFragment provides read access to data value. CBLFragment also provides subscript access by either key or index to the nested values which are wrapped by the CBLFragment objects.

    Declaration

    Objective-C

    @interface CBLFragment
        : NSObject <CBLFragment, CBLDictionaryFragment, CBLArrayFragment>
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLFullTextIndex : CBLIndex
  • Full-text Index Item.

    See more

    Declaration

    Objective-C

    @interface CBLFullTextIndexItem : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLFullTextIndexConfiguration : CBLIndexConfiguration
    
    /**
     Set the true value to ignore accents/diacritical marks. The default value is false.
     */
    @property (nonatomic, readonly) BOOL ignoreAccents;
    
    /**
     The language code which is an ISO-639 language such as "en", "fr", etc.
     Setting the language code affects how word breaks and word stems are parsed.
     Without setting the value, the current locale's language will be used. Setting
     a nil or "" value to disable the language features.
     */
    @property (nonatomic, readonly, nullable) NSString* language;
    
    /**
     Constructor for creating a full-text index by using an array of expression strings
     */
    - (instancetype) initWithExpression: (NSArray<NSString*>*)expressions
                          ignoreAccents: (BOOL)ignoreAccents
                               language: (NSString* __nullable)language;
    
    @end
  • 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
  • IndexBuilder used for building database index objects.

    See more

    Declaration

    Objective-C

    @interface CBLIndexBuilder : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLIndexConfiguration : NSObject
    
    /**
     Gets the expressions to use to create the index.
     */
    @property (nonatomic, readonly) NSArray<NSString*>* expressions;
    
    - (instancetype) init NS_UNAVAILABLE;
    
    @end
  • ENTERPRISE EDITION ONLY.

    Certificate Authenticator for the CBLURLEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLListenerCertificateAuthenticator
        : NSObject <CBLListenerAuthenticator>
  • ENTERPRISE EDITION ONLY.

    Password Authenticator for the CBLURLEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLListenerPasswordAuthenticator
        : NSObject <CBLListenerAuthenticator>
  • Log allows to configure console and file logger or to set a custom logger.

    See more

    Declaration

    Objective-C

    @interface CBLLog : NSObject
  • Log file configuration.

    See more

    Declaration

    Objective-C

    @interface CBLLogFileConfiguration : NSObject
  • ENTERPRISE EDITION ONLY.

    A message sent between message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessage : NSObject
  • ENTERPRISE EDITION ONLY.

    Message endpoint.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpoint : NSObject <CBLEndpoint>
  • ENTERPRISE EDITION ONLY.

    The listener for incoming message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListener : NSObject
  • ENTERPRISE EDITION ONLY.

    The configuration for the CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerConfiguration : NSObject
  • ENTERPRISE EDITION ONLY.

    A change event posted by CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerChange : NSObject
  • ENTERPRISE EDITION ONLY.

    The messaging error.

    See more

    Declaration

    Objective-C

    @interface CBLMessagingError : NSObject
  • CBLMutableArray provides access to array data.

    See more

    Declaration

    Objective-C

    @interface CBLMutableArray : CBLArray <CBLMutableArray>
  • CBLMutableDictionary is a mutable version of the CBLDictionary.

    See more

    Declaration

  • The mutable version of the CBLDocument.

    See more

    Declaration

    Objective-C

    @interface CBLMutableDocument : CBLDocument <CBLMutableDictionary>
  • CBLMutableFragment provides read and write access to data value. CBLMutableFragment also provides subscript access by either key or index to the nested values which are wrapped by CBLMutableFragment objects.

  • The prediction model manager for registering and unregistering predictive models.

    See more

    Declaration

    Objective-C

    @interface CBLPrediction : NSObject
  • ENTERPRISE EDITION ONLY

    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
  • A database query. A CBLQuery instance can be constructed by calling one of the select methods.

    See more

    Declaration

    Objective-C

    @interface 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
  • CBLQueryArrayFunction provides array based functions.

    See more

    Declaration

    Objective-C

    @interface 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
  • CBLQueryChange contains the information about the query result changes reported by a live query object.

    See more

    Declaration

    Objective-C

    @interface 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
  • 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
  • A CBLQueryExpression represents an expression used for constructing a query statement.

    See more

    Declaration

    Objective-C

    @interface CBLQueryExpression : NSObject
  • Full-text expression.

    See more

    Declaration

    Objective-C

    
    @interface CBLQueryFullTextExpression : NSObject
  • Full-text function.

    See more

    Declaration

    Objective-C

    @interface CBLQueryFullTextFunction : NSObject
  • CBLQueryFunction provides query functions.

    See more

    Declaration

    Objective-C

    @interface CBLQueryFunction : NSObject
  • ENTERPRISE EDITION ONLY

    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
  • A CBLQueryJoin represents the JOIN clause in the query statement.

    See more

    Declaration

    Objective-C

    @interface 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
  • 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
  • A CBLQueryOrdering represents a single ordering component in the query ORDER BY clause.

    See more

    Declaration

    Objective-C

    @interface 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
  • Query parameters used for setting values to the query parameters defined in the query.

    See more

    Declaration

    Objective-C

    @interface 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>
  • 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 *>
  • A CBLQuerySelectResult represents a returning value in each query result row.

    See more

    Declaration

    Objective-C

    @interface CBLQuerySelectResult : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLQueryVariableExpression : CBLQueryExpression
  • Combined activity level and progress of a replicator.

    See more

    Declaration

    Objective-C

    @interface 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
  • Replicator status change details.

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorChange : NSObject
  • Replicator Configuration

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorConfiguration : NSObject
  • The CBLSessionAuthenticator class is an authenticator that will authenticate by using the session ID of the session created by a Sync Gateway.

    See more

    Declaration

    Objective-C

    @interface CBLSessionAuthenticator : CBLAuthenticator
  • ENTERPRISE EDITION ONLY.

    CBLTLSIdentity provides TLS Identity information including a key pair and X.509 certificate chain used for configuring TLS communication to the listener.

    See more

    Declaration

    Objective-C

    
    @interface CBLTLSIdentity : NSObject
  • URL based replication target endpoint.

    See more

    Declaration

    Objective-C

    @interface CBLURLEndpoint : NSObject <CBLEndpoint>
  • ENTERPRISE EDITION ONLY.

    A listener to provide websocket based endpoint for peer-to-peer replication. Once the listener is started, peer replicators can connect to the listener by using CBLURLEndpoint.

    See more

    Declaration

    Objective-C

    
    @interface CBLURLEndpointListener : NSObject
  • ENTERPRISE EDITION ONLY.

    The configuration used for configuring and creating a URLEndpointListener.

    See more

    Declaration

    Objective-C

    
    @interface CBLURLEndpointListenerConfiguration : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLValueIndex : CBLIndex
  • Value Index Item.

    See more

    Declaration

    Objective-C

    @interface CBLValueIndexItem : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLValueIndexConfiguration : CBLIndexConfiguration
    
    /**
     Constructor for creating a value index by using an array of expression strings.
     */
    - (instancetype) initWithExpression: (NSArray<NSString*>*)expressions;
    
    @end