Interface BucketConfig

All Known Implementing Classes:
AbstractBucketConfig, CouchbaseBucketConfig, MemcachedBucketConfig

public interface BucketConfig
Represents a Couchbase Bucket Configuration.
  • Method Details

    • uuid

      String uuid()
      Returns the UUID of the bucket, or null if the bucket does not have a UUID.

      The UUID is an opaque value assigned when the bucket is created. If the bucket is deleted and a new bucket is created with the same name, the new bucket will have a different UUID.

      Returns:
      bucket UUID, or null.
    • name

      String name()
      The name of the bucket.
      Returns:
      name of the bucket.
    • locator

      The type of node locator in use for this bucket.
      Returns:
      the node locator type.
    • uri

      String uri()
      The HTTP Uri for this bucket configuration.
      Returns:
      the uri.
    • streamingUri

      String streamingUri()
      The HTTP Streaming URI for this bucket.
      Returns:
      the streaming uri.
    • nodes

      List<NodeInfo> nodes()
      The list of nodes associated with this bucket.
      Returns:
      the list of nodes.
    • tainted

      boolean tainted()
      Returns true if the config indicates the cluster is undergoing a transition (such as a rebalance operation).
      Returns:
      true if a transition is in progress.
    • rev

      @Deprecated long rev()
      Deprecated.
      Please use version() instead.
      Revision number (optional) for that configuration.
      Returns:
      the rev number, might be 0.
    • revEpoch

      long revEpoch()
      Deprecated.
      Please use version() instead.
      This field serves to enable the server to provide higher-level guidance with regards to configuration priority.

      This will be used during manual failovers to ensure that even if the minority side of the cluster is being selected, that consumers can keep the correct configurations.

      If revEpoch is not included in the config, it is set to 0 (it starts with 1 on configs that have it).

    • version

      ConfigVersion version()
    • type

      BucketType type()
      The bucket type.
      Returns:
      the bucket type.
    • serviceEnabled

      boolean serviceEnabled(ServiceType type)
      Check if the service is enabled on the bucket.
      Parameters:
      type - the type to check.
      Returns:
      true if it is, false otherwise.
    • hasFastForwardMap

      boolean hasFastForwardMap()
      Returns true if the config has a fast forward map that describes what the topology of the cluster will be after the current rebalance operation completes.
      Returns:
      true if it does, false otherwise.
    • clusterCapabilities

      Map<ServiceType,Set<ClusterCapabilities>> clusterCapabilities()
      Returns the cluster capabilities reported by the server.
    • bucketCapabilities

      Set<BucketCapabilities> bucketCapabilities()
      Returns all the capabilities that are enabled and recognized on this bucket.
    • portInfos

      List<PortInfo> portInfos()
      Returns the port information from the "nodesExt" section.

      NOTE: If you are unsure if you want to use this api, very likely you want to use nodes() instead!

      The nodes API is very similar to this port infos (in fact, they are built from each other), but there is one big difference: when the KV and VIEW service are defined on a bucket but not yet ready, the nodes API will NOT include them in the services list, while this API will. Most of the time you do not want to consume a service until it is ready, but for some functionality (like waitUntilReady) it can be needed to "look ahead" what will become active and wait for it.

      Returns:
      the port infos.