Class Changes


  • public class Changes
    extends java.lang.Object

    Contains the Change Notifications API, supports normal and continuous feed Changes.

    Usage Example:

     // feed type normal 
     String since = dbClient.context().info().getUpdateSeq(); // latest update seq
     ChangesResult changeResult = dbClient.changes()
            .since(since) 
            .limit(10)
            .filter("example/filter")
            .getChanges();
    
     for (ChangesResult.Row row : changeResult.getResults()) {
       String docId = row.getId()
       JsonObject doc = row.getDoc();
     }
    
     // feed type continuous
     Changes changes = dbClient.changes()
            .includeDocs(true) 
            .heartBeat(30000)
            .continuousChanges(); 
     
     while (changes.hasNext()) { 
            ChangesResult.Row feed = changes.next();
      String docId = feed.getId();
      JsonObject doc = feed.getDoc();
            // changes.stop(); // stop continuous feed
     }
     
    Since:
    0.0.2
    See Also:
    ChangesResult
    • Field Detail

      • reader

        private java.io.BufferedReader reader
      • httpGet

        private org.apache.http.client.methods.HttpGet httpGet
      • stop

        private boolean stop
      • gson

        private com.google.gson.Gson gson
    • Method Detail

      • continuousChanges

        public Changes continuousChanges()
        Requests Change notifications of feed type continuous.

        Feed notifications are accessed in an iterator style.

        Returns:
        Changes
      • hasNext

        public boolean hasNext()
        Checks whether a feed is available in the continuous stream, blocking until a feed is received.
        Returns:
        true If a feed is available
      • stop

        public void stop()
        Stops a running continuous feed.
      • since

        public Changes since​(java.lang.String since)
      • limit

        public Changes limit​(int limit)
      • heartBeat

        public Changes heartBeat​(long heartBeat)
      • timeout

        public Changes timeout​(long timeout)
      • filter

        public Changes filter​(java.lang.String filter)
      • includeDocs

        public Changes includeDocs​(boolean includeDocs)
      • style

        public Changes style​(java.lang.String style)
      • readNextRow

        private boolean readNextRow()
        Reads and sets the next feed in the stream.
      • getReader

        private java.io.BufferedReader getReader()
      • setReader

        private void setReader​(java.io.BufferedReader reader)
      • terminate

        private void terminate()