Class NamespaceClient

java.lang.Object
io.stargate.sdk.data.NamespaceClient

public class NamespaceClient extends Object
Client for a namespace (crud for collections).
  • Field Details

  • Constructor Details

    • NamespaceClient

      protected NamespaceClient(@NonNull @NonNull DataApiClient dataApiClient, @NonNull @NonNull String namespace)
      Full constructor.
      Parameters:
      dataApiClient - data api client reference
      namespace - namespace identifier
  • Method Details

    • isCollectionExists

      public boolean isCollectionExists(String collection)
      Evaluate if a collection exists.
      Parameters:
      collection - collection name.
      Returns:
      if collection exists
    • findCollections

      public Stream<CollectionDefinition> findCollections()
      Find Collections.
      Returns:
      a list of Collections
    • createCollection

      public CollectionClient createCollection(String collection)
      Create a Collection providing a name.
      Parameters:
      collection - current Collection.
      Returns:
      collection client.
    • createCollection

      public <DOC> CollectionRepository<DOC> createCollection(String collection, Class<DOC> clazz)
      Create a Collection providing a name.
      Type Parameters:
      DOC - type of document in used
      Parameters:
      collection - current Collection.
      clazz - type to be returned
      Returns:
      collection repository
    • createCollection

      public CollectionClient createCollection(String collection, int dimension)
      Create a Collection for vector purpose
      Parameters:
      collection - current Collection.
      dimension - dimension of the vector
      Returns:
      collection client.
    • createCollection

      public CollectionClient createCollection(CollectionDefinition req)
      Create a Collection providing a name.
      Parameters:
      req - current Collection.
      Returns:
      collection client.
    • createCollection

      public <DOC> CollectionRepository<DOC> createCollection(CollectionDefinition req, Class<DOC> clazz)
      Create a Collection providing a name.
      Type Parameters:
      DOC - document type
      Parameters:
      req - current Collection.
      clazz - type of clas in used
      Returns:
      collection client.
    • deleteCollection

      public void deleteCollection(String collection)
      Drop a Collection, no error if it does not exist.
      Parameters:
      collection - current Collection
    • findCollectionByName

      public Optional<CollectionDefinition> findCollectionByName(String collectionName)
      Find a Collection from its name.
      Parameters:
      collectionName - collection name
      Returns:
      collection definition if exists
    • collection

      public CollectionClient collection(String collectionName)
      Move the document API (namespace client).
      Parameters:
      collectionName - collection name
      Returns:
      JsonDocumentsClient client to work with documents
    • collectionRepository

      public <T> CollectionRepository<T> collectionRepository(String collectionName, Class<T> clazz)
      Build repository for a collection.
      Type Parameters:
      T - type parameter
      Parameters:
      collectionName - collection name
      clazz - pojo class
      Returns:
      collection repository