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
  • 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
  • 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
  • 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
  • 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
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLIndexBuilder : NSObject
    
    /**
     Create a value index with the given index items. The index items are a list of
     the properties or expressions to be indexed.
     
     @param items The index items.
     @return The value index.
     */
    + (CBLValueIndex*) valueIndexWithItems: (NSArray<CBLValueIndexItem*>*)items;
    
    /**
     Create a full-text search index with the given index item and options. Typically the index item is
     the property that is used to perform the match operation against with. Setting the nil options
     means using the default options.
     
     @param items The index items.
     @return The full-text search index.
     */
    + (CBLFullTextIndex*) fullTextIndexWithItems: (NSArray<CBLFullTextIndexItem*>*)items;
    
    /** Not available */
    - (instancetype) init NS_UNAVAILABLE;
    
    @end

    Swift

    class CBLIndexBuilder : NSObject
  • ENTERPRISE EDITION ONLY.

    A message sent between message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessage : NSObject

    Swift

    class CBLMessage : NSObject
  • The listener for incoming message endpoint connections.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListener : NSObject

    Swift

    class CBLMessageEndpointListener : NSObject
  • The configuration for the CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerConfiguration : NSObject

    Swift

    class CBLMessageEndpointListenerConfiguration : NSObject
  • A change event posted by CBLMessageEndpointListener.

    See more

    Declaration

    Objective-C

    @interface CBLMessageEndpointListenerChange : NSObject

    Swift

    class CBLMessageEndpointListenerChange : NSObject
  • The messaging error.

    See more

    Declaration

    Objective-C

    @interface CBLMessagingError : NSObject

    Swift

    class CBLMessagingError : NSObject
  • 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
  • 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
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLQueryParameters : NSObject
    
    /**
     Set the value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The object.
     @pram name The parameter name.
     */
    - (void) setValue: (nullable id)value forName: (NSString*)name;
    
    /**
     Set the String value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The String value.
     @pram name The parameter name.
     */
    - (void) setString: (nullable NSString*)value forName: (NSString*)name;
    
    /**
     Set the NSNumber value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The NSNumber value.
     @pram name The parameter name.
     */
    - (void) setNumber: (nullable NSNumber*)value forName: (NSString*)name;
    
    /**
     Set the integer value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The integer value.
     @pram name The parameter name.
     */
    - (void) setInteger: (NSInteger)value forName: (NSString*)name;
    
    /**
     Set the long long value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The long long value.
     @pram name The parameter name.
     */
    - (void) setLongLong: (long long)value forName: (NSString*)name;
    
    /**
     Set the float value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The float value.
     @pram name The parameter name.
     */
    - (void) setFloat: (float)value forName: (NSString*)name;
    
    /**
     Set the double value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The double value.
     @pram name The parameter name.
     */
    - (void) setDouble: (double)value forName: (NSString*)name;
    
    /**
     Set the boolean value to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The boolean value.
     @pram name The parameter name.
     */
    - (void) setBoolean: (BOOL)value forName: (NSString*)name;
    
    /**
     Set the NSDate object to the query parameter referenced by the given name. A query parameter
     is defined by using the CBLQueryExpression's + parameterNamed: method.
     
     @param value The NSDate value.
     @pram name The parameter name.
     */
    - (void) setDate: (nullable NSDate*)value forName: (NSString*)name;
    
    /**
     Get the parameter value.
     
     @param name The name of the parameter.
     @return The value of the parameter.
     */
    - (nullable id) valueForName: (NSString*)name;
    
    /**
     Initializes the CBLQueryParameters object.
     */
    - (instancetype) init;
    
    /**
     Initializes the CBLQueryParameters object with the parameters object.
     */
    - (instancetype) initWithParameters: (nullable CBLQueryParameters*)parameters;
    
    @end

    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 single result from a CBLQuery. The NSEnumeration returned by -[CBLQuery run:] produces these.

    See more

    Declaration

    Objective-C

    @interface CBLQueryRow : NSObject

    Swift

    class CBLQueryRow : NSObject
  • A single result from a full-text CBLQuery.

    See more

    Declaration

    Objective-C

    @interface CBLFullTextQueryRow : CBLQueryRow

    Swift

    class CBLFullTextQueryRow : CBLQueryRow
  • 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
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface CBLReplicatorConfiguration: NSObject
    
    /** The local database to replicate with the target endpoint. */
    @property (nonatomic, readonly) CBLDatabase* database;
    
    /**
     The replication endpoint to replicate with.
     */
    @property (nonatomic, readonly) id<CBLEndpoint> target;
    
    /**
     Replication type indicating the direction of the replication. The default value is
     .pushAndPull which is bidrectional.
     */
    @property (nonatomic) CBLReplicatorType replicatorType;
    
    /**
     Should the replicator stay active indefinitely, and push/pull changed documents?. The
     default value is NO.
     */
    @property (nonatomic) BOOL continuous;
    
    /**
     An Authenticator to authenticate with a remote server. Currently there are two types of
     the authenticators, CBLBasicAuthenticator and CBLSessionAuthenticator, supported.
     */
    @property (nonatomic, nullable) CBLAuthenticator* authenticator;
    
    /**
     If this property is non-null, the server is required to have this exact SSL/TLS certificate,
     or the connection will fail.
     */
    @property (nonatomic, nullable) SecCertificateRef pinnedServerCertificate;
    
    /**
     Extra HTTP headers to send in all requests to the remote target.
     */
    @property (nonatomic, nullable) NSDictionary<NSString*, NSString*>* headers;
    
    /**
     A set of Sync Gateway channel names to pull from. Ignored for push replication.
     The default value is nil, meaning that all accessible channels will be pulled.
     Note: channels that are not accessible to the user will be ignored by Sync Gateway.
     */
    @property (nonatomic, nullable) NSArray<NSString*>* channels;
    
    /**
     A set of document IDs to filter by: if not nil, only documents with these IDs will be pushed
     and/or pulled.
     */
    @property (nonatomic, nullable) NSArray<NSString*>* documentIDs;
    
    
    #if TARGET_OS_IPHONE
    /**
     Allows the replicator to continue replicating in the background. The default
     value is NO, which means that the replicator will suspend itself when the
     replicator detects that the application is being backgrounded.
     
     If setting the value to YES, please ensure that your application delegate
     requests background time from the OS until the replication finishes.
     */
    @property (nonatomic) BOOL allowReplicatingInBackground;
    #endif
    
    /** Not available */
    - (instancetype) init NS_UNAVAILABLE;
    
    /**
     Initializes a CBLReplicatorConfiguration with the local database and
     the target endpoint.
     
     @param database The database.
     @param target The target endpoint.
     @return The CBLReplicatorConfiguration object.
     */
    - (instancetype) initWithDatabase: (CBLDatabase*)database
                               target: (id <CBLEndpoint>)target;
    
    /**
     Initializes a CBLReplicatorConfiguration with the configuration object.
     
     @param config The configuration.
     @return The CBLReplicatorConfiguration object.
     */
    - (instancetype) initWithConfig: (CBLReplicatorConfiguration*)config;
    
    @end

    Swift

    class CBLReplicatorConfiguration : NSObject