Interface MorphiumWriter

All Known Implementing Classes:
AsyncWriterImpl, BufferedMorphiumWriterImpl, MorphiumWriterImpl

public interface MorphiumWriter
User: Stephan Bösebeck Date: 30.08.12 Time: 14:39

Interface for all morphium write accesses. Override for own use and set to MorphiumConfig

See Also:
  • Method Details

    • store

      <T> void store(T o, String collection, AsyncOperationCallback<T> callback)
      Stores the object, should be an entity
      Parameters:
      o - - entity
    • insert

      <T> void insert(T o, String collection, AsyncOperationCallback<T> callback)
    • store

      <T> void store(List<T> lst, AsyncOperationCallback<T> callback)
      stores the given list of objects, should be entities or embedded.
      Parameters:
      lst - - to store
    • insert

      <T> void insert(List<T> o, AsyncOperationCallback<T> callback)
    • store

      <T> void store(List<T> lst, String collectionName, AsyncOperationCallback<T> callback)
    • insert

      <T> void insert(List<T> lst, String collectionName, AsyncOperationCallback<T> callback)
    • updateUsingFields

      <T> void updateUsingFields(T ent, String collection, AsyncOperationCallback<T> callback, String... fields)
      update an object using fields specified
      Parameters:
      ent - entity
      fields - - fields
    • set

      <T> void set(T toSet, String collection, Map<String,Object> values, boolean upsert, AsyncOperationCallback<T> callback)
      changes an object in DB AND in Memory... the Object toSet WILL be modified!
      Parameters:
      toSet - entity to set values in both in mongo and in memory
      values - : contains name/values to set to the given object!
    • set

      <T> void set(Query<T> query, Map<String,Object> values, boolean insertIfNotExist, boolean multiple, AsyncOperationCallback<T> callback)
      will change an entry in mongodb-collection corresponding to given class object if query is too complex, upsert might not work! Upsert should consist of single and-queries, which will be used to generate the object to create, unless it already exists. look at Mongodb-query documentation as well
      Parameters:
      query - - query to specify which objects should be set
      values - - map fieldName->Value, which values are to be set!
      insertIfNotExist - - insert, if it does not exist (query needs to be simple!)
      multiple - - update several documents, if false, only first hit will be updated
    • inc

      <T> void inc(Query<T> query, String field, Number amount, boolean insertIfNotExist, boolean multiple, AsyncOperationCallback<T> callback)
    • inc

      <T> void inc(T toInc, String collection, String field, Number amount, AsyncOperationCallback<T> callback)
      Increases a value in an existing mongo collection entry - no reading necessary. Object is altered in place db.collection.update({"_id":toInc.id},{$inc:{field:amount}} attention: this alteres the given object toSet in a similar way
      Parameters:
      toInc - : object to set the value in (or better - the corresponding entry in mongo)
      field - : the field to change
      amount - : the value to set
    • setMorphium

      void setMorphium(Morphium m)
    • remove

      <T> void remove(List<T> lst, AsyncOperationCallback<T> callback)
    • remove

      <T> void remove(Query<T> q, boolean multiple, AsyncOperationCallback<T> callback)
    • remove

      <T> void remove(T o, String collection, AsyncOperationCallback<T> callback)
    • remove

      <T> void remove(Query<T> q, AsyncOperationCallback<T> callback)
      deletes all objects matching the given query
      Parameters:
      q - the query
    • pushPull

      <T> void pushPull(boolean push, Query<T> query, String field, Object value, boolean insertIfNotExist, boolean multiple, AsyncOperationCallback<T> callback)
    • pushPullAll

      <T> void pushPullAll(boolean push, Query<T> query, String field, List<?> value, boolean insertIfNotExist, boolean multiple, AsyncOperationCallback<T> callback)
    • unset

      <T> void unset(T toSet, String collection, String field, AsyncOperationCallback<T> callback)
      Un-setting a value in an existing mongo collection entry - no reading necessary. Object is altered in place db.collection.update({"_id":toSet.id},{$unset:{field:1}} attention: this alteres the given object toSet in a similar way
      Parameters:
      toSet - : object to set the value in (or better - the corresponding entry in mongo)
      field - : field to remove from document
    • pop

      <T> void pop(T obj, String collection, String field, boolean first, AsyncOperationCallback<T> callback)
    • unset

      <T> void unset(Query<T> query, String field, boolean multiple, AsyncOperationCallback<T> callback)
    • unset

      <T> void unset(Query<T> query, AsyncOperationCallback<T> callback, boolean multiple, String... fields)
    • unset

      <T> void unset(Query<T> query, AsyncOperationCallback<T> callback, boolean multiple, Enum... fields)
    • dropCollection

      <T> void dropCollection(Class<T> cls, String collection, AsyncOperationCallback<T> callback)
    • createIndex

      <T> void createIndex(Class<T> cls, String collection, IndexDescription idx, AsyncOperationCallback<T> callback)
    • writeBufferCount

      int writeBufferCount()
    • flush

      void flush()
    • flush

      void flush(Class type)
    • setMaximumQueingTries

      void setMaximumQueingTries(int n)
    • setPauseBetweenTries

      void setPauseBetweenTries(int p)
    • inc

      <T> void inc(Query<T> query, Map<String,Number> fieldsToInc, boolean insertIfNotExist, boolean multiple, AsyncOperationCallback<T> callback)
    • close

      void close()
      information about closing of morphium and all connections