Interface NoSqlConnection<W,T extends NoSqlObject<W>>

Type Parameters:
T - Specifies which implementation of NoSqlObject this connection provides.
W - Specifies which type of database object is wrapped by the NoSqlObject implementation provided.
All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
AbstractNoSqlConnection

public interface NoSqlConnection<W,T extends NoSqlObject<W>> extends Closeable
Represents a connection to the NoSQL database. Serves as a factory for new (empty) objects and an endpoint for inserted objects.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the underlying connection.
    T[]
    createList(int length)
    Creates an array of the specified length typed to match the NoSqlObject implementation appropriate for this provider.
    Instantiates and returns a NoSqlObject instance whose properties can be configured before ultimate insertion via insertObject(NoSqlObject).
    void
    Inserts the given object into the underlying NoSQL database.
    boolean
    Indicates whether the underlying connection is closed.
  • Method Details

    • createObject

      T createObject()
      Instantiates and returns a NoSqlObject instance whose properties can be configured before ultimate insertion via insertObject(NoSqlObject).
      Returns:
      a new object.
      See Also:
    • createList

      T[] createList(int length)
      Creates an array of the specified length typed to match the NoSqlObject implementation appropriate for this provider.
      Parameters:
      length - the length of the array to create.
      Returns:
      a new array.
      See Also:
    • insertObject

      void insertObject(NoSqlObject<W> object)
      Inserts the given object into the underlying NoSQL database.
      Parameters:
      object - The object to insert.
    • close

      void close()
      Closes the underlying connection. This method call should be idempotent. Only the first call should have any effect; all further calls should be ignored. It's possible the underlying connection is stateless (such as an HTTP web service), in which case this method would be a no-op. This method should also commit any open transactions, if applicable and if not already committed.

      If this connection is part of a connection pool, executing this method should commit the transaction and return the connection to the pool, but it should not actually close the underlying connection.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • isClosed

      boolean isClosed()
      Indicates whether the underlying connection is closed. If the underlying connection is stateless (such as an HTTP web service), this method would likely always return true. Essentially, this method should only return true if a call to insertObject(NoSqlObject) will fail due to the state of this object.
      Returns:
      true if this object is considered closed.