Package de.caluga.morphium
Class Morphium
- java.lang.Object
-
- de.caluga.morphium.Morphium
-
- All Implemented Interfaces:
AutoCloseable
public class Morphium extends Object implements AutoCloseable
This is the single access point for accessing MongoDB. This should- Author:
- stephan
-
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidabortTransaction()<T> Map<String,Object>addAllToSet(Query<T> query, String field, List<?> value, boolean multiple)<T> Map<String,Object>addAllToSet(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple)<T> Map<String,Object>addAllToSet(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback callback)voidaddListener(MorphiumStorageListener<?> lst)voidaddReplicasetStatusListener(ReplicasetStatusListener lst)voidaddShutdownListener(ShutdownListener l)<T> Map<String,Object>addToSet(Query<T> query, String field, Object value)<T> Map<String,Object>addToSet(Query<T> query, String field, Object value, boolean multiple)<T> Map<String,Object>addToSet(Query<T> query, String field, Object value, boolean upsert, boolean multiple)<T> Map<String,Object>addToSet(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)Map<Class<?>,Map<String,Integer>>checkCapped()Map<Class<?>,List<IndexDescription>>checkIndices()run trhough classpath, find all Entities, check indices returns a list of Entities, whos indices are missing or differentMap<Class<?>,List<IndexDescription>>checkIndices(io.github.classgraph.ClassInfoList.ClassInfoFilter filter)voidclearCachefor(Class<?> cls)Erase cache entries for the given type. is being called after every store depending on cache settings!voidclearCacheforClassIfNecessary(Class<?> cls)voidclearCollection(Class<?> cls)issues a remove command - no lifecycle methods calles, no drop, keeps all indexec this wayvoidclearCollection(Class<?> cls, String colName)issues a remove command - no lifecycle methods calles, no drop, keeps all indexec this way But uses sepcified collection name instead deriving name from classvoidclearCollectionOneByOne(Class<?> cls)clears every single object in collection - reads ALL objects to do so this way Lifecycle methods can be called!voidclose()voidcommitTransaction()<T,R>
Aggregator<T,R>createAggregator(Class<? extends T> type, Class<? extends R> resultType)MorphiumBulkContextcreateBulkRequestContext(Class<?> type, boolean ordered)MorphiumBulkContextcreateBulkRequestContext(String collection, boolean ordered)StringcreateCamelCase(String n)<T> voidcreateIndex(Class<T> cls, String collection, IndexDescription index, AsyncOperationCallback<T> callback)List<Map<String,Object>>createIndexKeyMapFrom(String[] fldStr)<T> TcreateLazyLoadedEntity(Class<? extends T> cls, Object id, String collectionName)Query<Map<String,Object>>createMapQuery(String collection)<T> Query<T>createQueryByTemplate(T template, String... fields)<T> Query<T>createQueryFor(Class<? extends T> type)<T> Query<T>createQueryFor(Class<? extends T> type, String usingCollectionName)<T> Map<String,Object>currentDate(Query<?> query, Enum field, boolean upsert, boolean multiple)<T> Map<String,Object>currentDate(Query<?> query, String field, boolean upsert, boolean multiple)set current date into one fieldMap<String,Object>dec(Query<?> query, Enum<?> field, double amount)Map<String,Object>dec(Query<?> query, Enum<?> field, double amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, Enum<?> field, int amount)Map<String,Object>dec(Query<?> query, Enum<?> field, int amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, Enum<?> field, long amount)Map<String,Object>dec(Query<?> query, Enum<?> field, long amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, Enum<?> field, Number amount)Map<String,Object>dec(Query<?> query, Enum<?> field, Number amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, String field, double amount)Map<String,Object>dec(Query<?> query, String field, double amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, String field, int amount)Map<String,Object>dec(Query<?> query, String field, int amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, String field, long amount)Map<String,Object>dec(Query<?> query, String field, long amount, boolean upsert, boolean multiple)Map<String,Object>dec(Query<?> query, String field, Number amount)Map<String,Object>dec(Query<?> query, String field, Number amount, boolean upsert, boolean multiple)<T> Map<String,Object>dec(Query<T> query, Enum<?> field, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, Enum<?> field, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, Enum<?> field, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, Enum<?> field, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, String name, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, String name, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, String name, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, String name, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>dec(Query<T> query, Map<String,Number> toUpdate, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)voiddec(Object toDec, Enum<?> field, double amount)decreasing a value of a given object callesinc(toDec,field,-amount);voiddec(Object toDec, Enum<?> field, int amount)voiddec(Object toDec, Enum<?> field, long amount)voiddec(Object toDec, Enum<?> field, Number amount)voiddec(Object toDec, String field, double amount)voiddec(Object toDec, String field, int amount)voiddec(Object toDec, String field, long amount)voiddec(Object toDec, String field, Number amount)<T> voiddec(Map<Enum,Number> fieldsToInc, Query<T> matching, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> voiddelete(Query<T> o)<T> voiddelete(Query<T> o, AsyncOperationCallback<T> callback)voiddelete(Object o)deletes a single object from morphium backend.voiddelete(Object o, String collection)<T> voiddelete(List<T> lst, AsyncOperationCallback<T> callback)<T> voiddelete(List<T> lst, String forceCollectionName)<T> voiddelete(List<T> lst, String forceCollectionName, AsyncOperationCallback<T> callback)<T> voiddelete(T lo, AsyncOperationCallback<T> callback)<T> voiddelete(T lo, String collection, AsyncOperationCallback<T> callback)<T> TdeReference(T obj)de-references the given object of type T.voiddisableAsyncWritesForThread()voiddisableAutoValuesForThread()voiddisableReadCacheForThread()voiddisableValidation()voiddisableWriteBufferForThread()List<Object>distinct(Enum<?> key, Query q)returns a distinct list of values of the given collection Attention: these values are not unmarshalled, you might get MongoMaps List<Object>distinct(Enum<?> key, Class c)List<Object>distinct(String key, Query q)returns a distinct list of values of the given collection Attention: these values are not unmarshalled, you might get MongoMaps List<Object>distinct(String key, Class cls)List<Object>distinct(String key, Class cls, Collation collation)List<Object>distinct(String key, String collectionName)List<Object>distinct(String key, String collectionName, Collation collation)voiddropCollection(Class<?> cls)<T> voiddropCollection(Class<T> cls, AsyncOperationCallback<T> callback)<T> voiddropCollection(Class<T> cls, String collection, AsyncOperationCallback<T> callback)voidenableAsyncWritesForThread()voidenableAutoValuesForThread()voidenableReadCacheForThread()voidenableValidation()voidenableWriteBufferForThread()<T> voidensureCapped(Class<T> c)automatically convert the collection for the given type to a capped collection only works if @Capped annotation is given for type<T> voidensureCapped(Class<T> c, AsyncOperationCallback<T> callback)voidensureIndex(Class<?> cls, Enum... fldStr)voidensureIndex(Class<?> cls, String... fldStr)voidensureIndex(Class<?> cls, String collection, Map<String,Object> index)Deprecated.voidensureIndex(Class<?> cls, String collection, Map<String,Object> index, Map<String,Object> options)Deprecated.voidensureIndex(Class<?> cls, Map<String,Object> index)Deprecated.<T> voidensureIndex(Class<T> cls, AsyncOperationCallback<T> callback, Enum... fldStr)Deprecated.<T> voidensureIndex(Class<T> cls, AsyncOperationCallback<T> callback, String... fldStr)Deprecated.<T> voidensureIndex(Class<T> cls, String collection, AsyncOperationCallback<T> callback, Enum... fldStr)Deprecated.<T> voidensureIndex(Class<T> cls, String collection, AsyncOperationCallback<T> callback, String... fldStr)Deprecated.<T> voidensureIndex(Class<T> cls, String collection, Map<String,Object> index, AsyncOperationCallback<T> callback)Deprecated.<T> voidensureIndex(Class<T> cls, String collection, Map<String,Object> index, Map<String,Object> options, AsyncOperationCallback<T> callback)Deprecated.<T> voidensureIndex(Class<T> cls, Map<String,Object> index, AsyncOperationCallback<T> callback)Deprecated.<T> voidensureIndicesFor(Class<T> type)can be called for autmatic index ensurance.<T> voidensureIndicesFor(Class<T> type, AsyncOperationCallback<T> callback)<T> voidensureIndicesFor(Class<T> type, String onCollection)<T> voidensureIndicesFor(Class<T> type, String onCollection, AsyncOperationCallback<T> callback)<T> voidensureIndicesFor(Class<T> type, String onCollection, AsyncOperationCallback<T> callback, MorphiumWriter wr)booleanexists(Class<?> cls)booleanexists(String db)booleanexists(String db, String col)<T> List<T>find(Query<T> q)Deprecated.<T> List<T>findByField(Class<? extends T> cls, Enum<?> fld, Object val)<T> List<T>findByField(Class<? extends T> cls, String fld, Object val)<T> TfindById(Class<? extends T> type, Object id)<T> TfindById(Class<? extends T> type, Object id, String collection)<T> voidfindById(Class<? extends T> type, Object id, String collection, AsyncOperationCallback callback)<T> List<T>findByTemplate(T template, String... fields)Deprecated.voidfirePostDropEvent(Class cls)<T> voidfirePostLoad(List<T> loaded)voidfirePostLoadEvent(Object o)will be called by query after unmarshalling<T> voidfirePostRemove(List<T> toRemove)voidfirePostRemoveEvent(Query q)voidfirePostRemoveEvent(Object o)voidfirePostStore(Object o, boolean isNew)<T> voidfirePostStore(Map<T,Boolean> isNew)voidfirePostUpdateEvent(Class cls, MorphiumStorageListener.UpdateTypes t)voidfirePreDrop(Class cls)voidfirePreRemove(Object o)<T> voidfirePreRemove(List<T> lst)voidfirePreRemoveEvent(Query q)voidfirePreStore(Object o, boolean isNew)voidfirePreStore(Map<Object,Boolean> isNew)voidfirePreUpdateEvent(Class cls, MorphiumStorageListener.UpdateTypes t)voidflush()voidflush(Class type)intgetActiveThreads()AnnotationAndReflectionHelpergetARHelper()ThreadPoolExecutorgetAsyncOperationsThreadPool()intgetAsyncWriterBufferCount()intgetBufferedWriterBufferCount()MorphiumCachegetCache()Map<String,Object>getCollStats(Class<?> coll)Map<String,Object>getCollStats(String coll)MorphiumConfiggetConfig()longgetCount(Class<?> type)ReplicaSetStatusgetCurrentRSState()StringgetDatabase()Map<String,Object>getDbStats()Map<String,Object>getDbStats(String db)MorphiumDrivergetDriver()EncryptionKeyProvidergetEncryptionKeyProvider()intgetEstimatedCount(Class<?> type)ObjectgetId(Object o)<T> List<IndexDescription>getIndexesFromEntity(Class<T> type)List<IndexDescription>getIndexesFromMongo(Class cls)List<IndexDescription>getIndexesFromMongo(String collection)MorphiumObjectMappergetMapper()List<IndexDescription>getMissingIndicesFor(Class<?> entity)List<IndexDescription>getMissingIndicesFor(Class<?> entity, String collection)NameProvidergetNameProviderForClass(Class<?> cls)intgetNumberOfAvailableThreads()<T> Query<T>getOutdatedLocksQuery(Class<? extends T> cls, int ms)ReadPreferencegetReadPreferenceForClass(Class<?> cls)List<ShutdownListener>getShutDownListeners()Map<String,Double>getStatistics()Map<StatisticKeys,StatisticValue>getStats()MorphiumTransactionContextgetTransaction()ValueEncryptionProvidergetValueEncrpytionProvider()intgetWriteBufferCount()WriteConcerngetWriteConcernForClass(Class<?> cls)intgetWriterBufferCount()MorphiumWritergetWriterForClass(Class<?> cls)Map<String,Object>inc(Query<?> query, Enum<?> field, double amount)Map<String,Object>inc(Query<?> query, Enum<?> field, double amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, Enum<?> field, int amount)Map<String,Object>inc(Query<?> query, Enum<?> field, int amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, Enum<?> field, long amount)Map<String,Object>inc(Query<?> query, Enum<?> field, long amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, Enum<?> field, Number amount)Map<String,Object>inc(Query<?> query, Enum<?> field, Number amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, String field, double amount)Map<String,Object>inc(Query<?> query, String name, double amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, String field, int amount)Map<String,Object>inc(Query<?> query, String name, int amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, String field, long amount)Map<String,Object>inc(Query<?> query, String name, long amount, boolean upsert, boolean multiple)Map<String,Object>inc(Query<?> query, String field, Number amount)Map<String,Object>inc(Query<?> query, String name, Number amount, boolean upsert, boolean multiple)<T> Map<String,Object>inc(Query<T> query, Enum<?> field, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, Enum<?> field, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, Enum<?> field, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, Enum<?> field, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, String name, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, String name, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, String name, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, String name, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>inc(Query<T> query, Map<String,Number> toUpdate, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)voidinc(StatisticKeys k)voidinc(Object toSet, Enum<?> field, double i)voidinc(Object toSet, Enum<?> field, int i)voidinc(Object toSet, Enum<?> field, long i)voidinc(Object toSet, Enum<?> field, Number i)voidinc(Object toSet, String field, double i)voidinc(Object toSet, String field, int i)voidinc(Object toSet, String field, long i)voidinc(Object toSet, String field, Number i)<T> Map<String,Object>inc(Map<Enum,Number> fieldsToInc, Query<T> matching, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, Enum<?> field, double i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, Enum<?> field, int i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, Enum<?> field, long i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, Enum<?> collection, Enum<?> field, double i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, Enum<?> field, Number i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String field, double i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String field, int i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String field, long i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, Enum<?> field, double i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, Enum<?> field, int i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, Enum<?> field, long i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, Enum<?> field, Number i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String field, Number i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, String field, double i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, String field, int i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, String field, long i, AsyncOperationCallback<T> callback)<T> voidinc(T toSet, String collection, String field, Number i, AsyncOperationCallback<T> callback)<T> voidinsert(T o)<T> voidinsert(T o, AsyncOperationCallback<T> callback)<T> voidinsert(T o, String collection, AsyncOperationCallback<T> callback)<T> voidinsertList(List arrayList)<T> voidinsertList(List arrayList, AsyncOperationCallback<T> callback)<T> voidinsertList(List lst, String collection, AsyncOperationCallback<T> callback)booleanisAsyncWritesEnabledForThread()booleanisAutoValuesEnabledForThread()booleanisReadCacheEnabledForThread()booleanisReplicaSet()booleanisValidationEnabled()Checks if javax.validation is available and enables validation support.booleanisWriteBufferEnabledForThread()List<String>listCollections()List<String>listCollections(String pattern)List<String>listDatabases()<T> List<T>lockEntities(Query<T> q, String lockId, int maxLockTimeMs)<T> List<T>mapReduce(Class<? extends T> type, String map, String reduce)Map<String,Object>pull(Query<?> query, Enum<?> field, Object value)Map<String,Object>pull(Query<?> query, Enum<?> field, Object value, boolean upsert, boolean multiple)Map<String,Object>pull(Query<?> query, String field, Object value)<T> Map<String,Object>pull(Query<T> query, String field, Expr value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>pull(Query<T> query, String field, Object value, boolean upsert, boolean multiple)<T> Map<String,Object>pull(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)Asynchronous call to pulll<T> Map<String,Object>pull(T entity, String field, Expr value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)Map<String,Object>pullAll(Query<?> query, Enum<?> field, List<Object> value, boolean upsert, boolean multiple)voidpullAll(Query<?> query, String field, List<Object> value, boolean upsert, boolean multiple)<T> voidpullAll(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)Map<String,Object>push(Query<?> query, Enum<?> field, Object value)Map<String,Object>push(Query<?> query, Enum<?> field, Object value, boolean upsert, boolean multiple)Map<String,Object>push(Query<?> query, String field, Object value)<T> Map<String,Object>push(Query<T> query, String field, Object value, boolean upsert, boolean multiple)<T> Map<String,Object>push(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)asynchronous call to callbackvoidpush(Object entity, Enum<?> field, Object value, boolean upsert)voidpush(Object entity, String collection, Enum<?> field, Object value, boolean upsert)voidpush(Object entity, String field, Object value, boolean upsert)voidpush(Object entity, String collection, String field, Object value, boolean upsert)Map<String,Object>pushAll(Query<?> query, Enum<?> field, List<Object> value, boolean upsert, boolean multiple)Map<String,Object>pushAll(Query<?> query, String field, List<?> value, boolean upsert, boolean multiple)<T> Map<String,Object>pushAll(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> voidpushPull(boolean push, Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> voidpushPullAll(boolean push, Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)voidqueueTask(Runnable runnable)<T> List<T>readAll(Class<? extends T> cls)return a list of all elements stored in morphium for this typevoidreconnectToDb(String db)voidreleaseLock(Object obj)voidremoveListener(MorphiumStorageListener<?> lst)voidremoveReplicasetStatusListener(ReplicasetStatusListener lst)voidremoveShutdownListener(ShutdownListener l)<T> Treread(T o)careful this actually changes the parameter o!<T> Treread(T o, String collection)voidreset()voidresetStatistics()List<Map<String,Object>>runCommand(String command, String collection, Map<String,Object> cmdMap)<T> voidsave(List<T> lst, AsyncOperationCallback<T> callback)<T> voidsave(T o)<T> voidsave(T o, AsyncOperationCallback<T> callback)<T> voidsave(T o, String collection, AsyncOperationCallback<T> callback)<T> voidsaveList(List<T> lst)<T> voidsaveList(List<T> lst, AsyncOperationCallback<T> callback)<T> voidsaveList(List<T> lst, String collection)<T> voidsaveList(List<T> lst, String collection, AsyncOperationCallback<T> callback)<T> voidsaveList(Set<T> set)Map<String,Integer>saveMap(String collection, Map<String,Object> m)Map<String,Integer>saveMaps(Class type, List<Map<String,Object>> lst)Map<String,Integer>saveMaps(String collection, List<Map<String,Object>> lst)Map<String,Object>set(Query<?> query, Map<String,Object> map, boolean upsert, boolean multiple)<T> Map<String,Object>set(Query<T> query, Enum<?> field, Object val)<T> Map<String,Object>set(Query<T> query, Enum<?> field, Object val, boolean upsert, boolean multiple)will change an entry in mongodb-collection corresponding to given class object if query is too complex, upsert might not work!<T> Map<String,Object>set(Query<T> query, Enum<?> field, Object val, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>set(Query<T> query, Enum<?> field, Object val, AsyncOperationCallback<T> callback)<T> Map<String,Object>set(Query<T> query, String field, Object val)<T> Map<String,Object>set(Query<T> query, String field, Object val, boolean upsert, boolean multiple)<T> Map<String,Object>set(Query<T> query, String field, Object val, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> Map<String,Object>set(Query<T> query, String field, Object val, AsyncOperationCallback<T> callback)<T> Map<String,Object>set(Query<T> query, Map<String,Object> map, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)<T> voidset(String inCollection, Map<Enum,Object> values, T into)<T> voidset(Map<String,Object> values, T into)<T> voidset(T toSet, Enum<?> field, Object value)<T> voidset(T toSet, Enum<?> field, Object value, boolean upserts, AsyncOperationCallback<T> callback)<T> voidset(T toSet, Enum<?> field, Object value, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String collection, boolean upserts, Map<Enum,Object> values)<T> voidset(T toSet, String collection, boolean upserts, Map<Enum,Object> values, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String collection, Enum<?> field, Object value)<T> voidset(T toSet, String collection, Enum field, Object value, boolean upserts, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String field, Object value)setting a value in an existing mongo collection entry - no reading necessary.<T> voidset(T toSet, String field, Object value, boolean upserts, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String field, Object value, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String collection, String field, Object value, boolean upserts, AsyncOperationCallback<T> callback)<T> voidset(T toSet, String collection, Map<String,Object> values)<T> voidset(T toSet, String collection, Map<String,Object> values, boolean upserts)<T> voidset(T toSet, String collection, Map<String,Object> values, boolean upserts, AsyncOperationCallback<T> callback)<T> voidset(T toSet, Map<Enum,Object> values)<T> booleansetAutoValues(T o)voidsetConfig(MorphiumConfig cfg)voidsetDriver(MorphiumDriver drv)Map<String,Object>setEnum(Query<?> query, Map<Enum,Object> values, boolean upsert, boolean multiple)voidsetNameProviderForClass(Class<?> cls, NameProvider pro)voidsetTransaction(MorphiumTransactionContext ctx)Map<String,Object>simplifyQueryObject(Map<String,Object> q)voidstartTransaction()<T> voidstore(List<T> lst, AsyncOperationCallback<T> callback)<T> voidstore(List<T> lst, String collectionName, AsyncOperationCallback<T> callback)<T> voidstore(T o)Stores a single Object.<T> voidstore(T o, AsyncOperationCallback<T> callback)<T> voidstore(T o, String collection, AsyncOperationCallback<T> callback)<T> voidstoreBuffered(T lst)<T> voidstoreBuffered(T lst, AsyncOperationCallback<T> callback)<T> voidstoreBuffered(T lst, String collection, AsyncOperationCallback<T> callback)<T> voidstoreList(List<T> lst)sorts elements in this list, whether to store in background or directly.<T> voidstoreList(List<T> lst, AsyncOperationCallback<T> callback)<T> voidstoreList(List<T> lst, String collection)stores all elements of this list to the given collection<T> voidstoreList(List<T> lst, String collection, AsyncOperationCallback<T> callback)<T> voidstoreList(Set<T> set)Map<String,Object>storeMap(Class type, Map<String,Object> m)directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!Map<String,Integer>storeMap(String collection, Map<String,Object> m)directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!Map<String,Integer>storeMaps(Class type, List<Map<String,Object>> lst)directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!Map<String,Integer>storeMaps(String collection, List<Map<String,Object>> lst)directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!<T> voidstoreNoCache(T lst)<T> voidstoreNoCache(T o, AsyncOperationCallback<T> callback)<T> voidstoreNoCache(T o, String collection)<T> voidstoreNoCache(T o, String collection, AsyncOperationCallback<T> callback)StringtoString()<T> voidunset(T toSet, Enum<?> field)<T> voidunset(T toSet, Enum<?> field, AsyncOperationCallback<T> callback)<T> voidunset(T toSet, String field)<T> voidunset(T toSet, String field, AsyncOperationCallback<T> callback)<T> voidunset(T toSet, String collection, Enum<?> field)<T> voidunset(T toSet, String collection, Enum<?> field, AsyncOperationCallback<T> callback)<T> voidunset(T toSet, String collection, String field, AsyncOperationCallback<T> callback)<T> Map<String,Object>unsetQ(Query<T> q, boolean multiple, AsyncOperationCallback<T> cb, Enum... field)<T> Map<String,Object>unsetQ(Query<T> q, boolean multiple, Enum... field)<T> Map<String,Object>unsetQ(Query<T> q, boolean multiple, String... field)<T> Map<String,Object>unsetQ(Query<T> q, AsyncOperationCallback<T> cb, boolean multiple, String... field)<T> Map<String,Object>unsetQ(Query<T> q, AsyncOperationCallback<T> cb, Enum... field)<T> Map<String,Object>unsetQ(Query<T> q, AsyncOperationCallback<T> cb, String... field)<T> Map<String,Object>unsetQ(Query<T> q, Enum... field)<T> Map<String,Object>unsetQ(Query<T> q, String... field)voidupdateUsingFields(Object ent, Enum... fieldNames)voidupdateUsingFields(Object ent, String... fields)updating an enty in DB without sending the whole entity only transfers the fields to be changed / set<T> voidupdateUsingFields(T ent, AsyncOperationCallback<T> callback, Enum... fields)<T> voidupdateUsingFields(T ent, AsyncOperationCallback<T> callback, String... fields)<T> voidupdateUsingFields(T ent, String collection, AsyncOperationCallback<T> callback, Enum... fields)<T> voidupdateUsingFields(T ent, String collection, AsyncOperationCallback<T> callback, String... fields)<T> voidwatch(Class<T> entity, boolean updateFull, ChangeStreamListener lst)<T> voidwatch(Class<T> entity, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> voidwatch(String collectionName, boolean updateFull, ChangeStreamListener lst)<T> voidwatch(String collectionName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> voidwatch(String collectionName, int maxWaitTime, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> voidwatchAsync(Class<T> entity, boolean updateFull, ChangeStreamListener lst)<T> voidwatchAsync(Class<T> entity, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> voidwatchAsync(String collectionName, boolean updateFull, ChangeStreamListener lst)<T> voidwatchAsync(String collectionName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> voidwatchDb(boolean updateFull, ChangeStreamListener lst)<T> voidwatchDb(String dbName, boolean updateFull, ChangeStreamListener lst)<T> voidwatchDb(String dbName, boolean updateFull, List<Map<String,Object>> pipeline, AtomicBoolean runningFlag, ChangeStreamListener lst)<T> voidwatchDb(String dbName, int maxWaitTime, boolean updateFull, List<Map<String,Object>> pipeline, AtomicBoolean runningFlag, ChangeStreamListener lst)<T> AtomicBooleanwatchDbAsync(boolean updateFull, AtomicBoolean runningFlag, ChangeStreamListener lst)<T> AtomicBooleanwatchDbAsync(boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)<T> AtomicBooleanwatchDbAsync(String dbName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)intwriteBufferCount()
-
-
-
Constructor Detail
-
Morphium
public Morphium()
-
Morphium
public Morphium(MorphiumConfig cfg)
init the MongoDbLayer. Uses Morphium-Configuration Object for Configuration. Needs to be set before use or RuntimeException is thrown! us used for de-referencing and automatical save of referenced entities all logging is done in INFO level- See Also:
MorphiumConfig
-
-
Method Detail
-
getConfig
public MorphiumConfig getConfig()
-
setConfig
public void setConfig(MorphiumConfig cfg)
-
getAsyncOperationsThreadPool
public ThreadPoolExecutor getAsyncOperationsThreadPool()
-
getValueEncrpytionProvider
public ValueEncryptionProvider getValueEncrpytionProvider()
-
getEncryptionKeyProvider
public EncryptionKeyProvider getEncryptionKeyProvider()
-
getCache
public MorphiumCache getCache()
-
isValidationEnabled
public boolean isValidationEnabled()
Checks if javax.validation is available and enables validation support.- Returns:
- true, if validation is supported
-
disableValidation
public void disableValidation()
-
enableValidation
public void enableValidation()
-
reconnectToDb
public void reconnectToDb(String db)
-
addListener
public void addListener(MorphiumStorageListener<?> lst)
-
removeListener
public void removeListener(MorphiumStorageListener<?> lst)
-
getDriver
public MorphiumDriver getDriver()
-
setDriver
public void setDriver(MorphiumDriver drv)
-
findByTemplate
@Deprecated public <T> List<T> findByTemplate(T template, String... fields)
Deprecated.search for objects similar to template concerning all given fields. If no fields are specified, all NON Null-Fields are taken into account if specified, field might also be null- Type Parameters:
T- - type- Parameters:
template- - what to search forfields- - fields to use for searching- Returns:
- result of search
-
unset
public <T> void unset(T toSet, Enum<?> field)
-
unset
public <T> void unset(T toSet, String field)
-
unset
public <T> void unset(T toSet, Enum<?> field, AsyncOperationCallback<T> callback)
-
unset
public <T> void unset(T toSet, String collection, Enum<?> field, AsyncOperationCallback<T> callback)
-
unset
public <T> void unset(T toSet, String field, AsyncOperationCallback<T> callback)
-
unset
public <T> void unset(T toSet, String collection, String field, AsyncOperationCallback<T> callback)
-
unsetQ
public <T> Map<String,Object> unsetQ(Query<T> q, AsyncOperationCallback<T> cb, String... field)
-
unsetQ
public <T> Map<String,Object> unsetQ(Query<T> q, AsyncOperationCallback<T> cb, boolean multiple, String... field)
-
unsetQ
public <T> Map<String,Object> unsetQ(Query<T> q, AsyncOperationCallback<T> cb, Enum... field)
-
unsetQ
public <T> Map<String,Object> unsetQ(Query<T> q, boolean multiple, AsyncOperationCallback<T> cb, Enum... field)
-
addReplicasetStatusListener
public void addReplicasetStatusListener(ReplicasetStatusListener lst)
-
removeReplicasetStatusListener
public void removeReplicasetStatusListener(ReplicasetStatusListener lst)
-
runCommand
public List<Map<String,Object>> runCommand(String command, String collection, Map<String,Object> cmdMap) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
ensureCapped
public <T> void ensureCapped(Class<T> c)
automatically convert the collection for the given type to a capped collection only works if @Capped annotation is given for type- Parameters:
c- - type
-
ensureCapped
public <T> void ensureCapped(Class<T> c, AsyncOperationCallback<T> callback)
-
set
public <T> Map<String,Object> set(Query<T> query, Enum<?> field, Object val, AsyncOperationCallback<T> callback)
-
set
public <T> Map<String,Object> set(Query<T> query, String field, Object val, AsyncOperationCallback<T> callback)
-
setEnum
public Map<String,Object> setEnum(Query<?> query, Map<Enum,Object> values, boolean upsert, boolean multiple)
-
push
public Map<String,Object> push(Query<?> query, Enum<?> field, Object value, boolean upsert, boolean multiple)
-
pull
public Map<String,Object> pull(Query<?> query, Enum<?> field, Object value, boolean upsert, boolean multiple)
-
pushAll
public Map<String,Object> pushAll(Query<?> query, Enum<?> field, List<Object> value, boolean upsert, boolean multiple)
-
push
public void push(Object entity, String collection, String field, Object value, boolean upsert)
-
push
public void push(Object entity, String collection, Enum<?> field, Object value, boolean upsert)
-
pullAll
public Map<String,Object> pullAll(Query<?> query, Enum<?> field, List<Object> value, boolean upsert, boolean multiple)
-
push
public <T> Map<String,Object> push(Query<T> query, String field, Object value, boolean upsert, boolean multiple)
-
push
public <T> Map<String,Object> push(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
asynchronous call to callback- Type Parameters:
T- - the type- Parameters:
query- - the queryfield- - field to push values tovalue- - value to pushupsert- - insert object, if it does not existmultiple- - more than onecallback- - will be called, when operation succeeds - synchronous call, if null
-
addToSet
public <T> Map<String,Object> addToSet(Query<T> query, String field, Object value, boolean multiple)
-
addToSet
public <T> Map<String,Object> addToSet(Query<T> query, String field, Object value, boolean upsert, boolean multiple)
-
addToSet
public <T> Map<String,Object> addToSet(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pull
public <T> Map<String,Object> pull(Query<T> query, String field, Object value, boolean upsert, boolean multiple)
-
pull
public <T> Map<String,Object> pull(Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
Asynchronous call to pulll- Type Parameters:
T- - type- Parameters:
query- - queryfield- - field to pullvalue- - value to pull from fieldupsert- - insert document unless it existsmultiple- - more than onecallback- -callback to call when operation succeeds - synchronous call, if null
-
pull
public <T> Map<String,Object> pull(T entity, String field, Expr value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pull
public <T> Map<String,Object> pull(Query<T> query, String field, Expr value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pushAll
public Map<String,Object> pushAll(Query<?> query, String field, List<?> value, boolean upsert, boolean multiple)
-
pushAll
public <T> Map<String,Object> pushAll(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
addAllToSet
public <T> Map<String,Object> addAllToSet(Query<T> query, String field, List<?> value, boolean multiple)
-
addAllToSet
public <T> Map<String,Object> addAllToSet(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple)
-
addAllToSet
public <T> Map<String,Object> addAllToSet(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback callback)
-
set
public <T> Map<String,Object> set(Query<T> query, Enum<?> field, Object val, boolean upsert, boolean multiple)
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 anueries, 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 setfield- - field to setval- - value to setupsert- - insert, if it does not exist (query needs to be simple!)multiple- - update several documents, if false, only first hit will be updated
-
set
public <T> Map<String,Object> set(Query<T> query, Enum<?> field, Object val, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pullAll
public void pullAll(Query<?> query, String field, List<Object> value, boolean upsert, boolean multiple)
-
set
public <T> Map<String,Object> set(Query<T> query, String field, Object val, boolean upsert, boolean multiple)
-
set
public <T> Map<String,Object> set(Query<T> query, String field, Object val, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
set
public Map<String,Object> set(Query<?> query, Map<String,Object> map, boolean upsert, boolean multiple)
-
set
public <T> Map<String,Object> set(Query<T> query, Map<String,Object> map, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
currentDate
public <T> Map<String,Object> currentDate(Query<?> query, String field, boolean upsert, boolean multiple)
set current date into one field- Type Parameters:
T-- Parameters:
query-field-upsert-multiple-
-
currentDate
public <T> Map<String,Object> currentDate(Query<?> query, Enum field, boolean upsert, boolean multiple)
-
set
public <T> void set(T toSet, Enum<?> field, Object value, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, Enum<?> field, Object value, boolean upserts, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, String collection, boolean upserts, Map<Enum,Object> values, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, String field, Object value)setting a value in an existing mongo collection entry - no reading necessary. Object is altered in place db.collection.update({"_id":toSet.id},{$set:{field:value}} 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- - the field to changevalue- - the value to set
-
set
public <T> void set(T toSet, String field, Object value, boolean upserts, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, String collection, Map<String,Object> values, boolean upserts, AsyncOperationCallback<T> callback)
-
getDbStats
public Map<String,Object> getDbStats(String db) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
getDbStats
public Map<String,Object> getDbStats() throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
getCollStats
public Map<String,Object> getCollStats(Class<?> coll) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
getCollStats
public Map<String,Object> getCollStats(String coll) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
set
public <T> void set(T toSet, String collection, Enum field, Object value, boolean upserts, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, String collection, String field, Object value, boolean upserts, AsyncOperationCallback<T> callback)
-
set
public <T> void set(T toSet, String field, Object value, AsyncOperationCallback<T> callback)
-
dec
public Map<String,Object> dec(Query<?> query, Enum<?> field, double amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, Enum<?> field, long amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, Enum<?> field, Number amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, Enum<?> field, int amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, String field, double amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, String field, long amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, String field, int amount, boolean upsert, boolean multiple)
-
dec
public Map<String,Object> dec(Query<?> query, String field, Number amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, Enum<?> field, double amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, Enum<?> field, long amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, Enum<?> field, int amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, Enum<?> field, Number amount, boolean upsert, boolean multiple)
-
inc
public <T> Map<String,Object> inc(Map<Enum,Number> fieldsToInc, Query<T> matching, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, Map<String,Number> toUpdate, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> void dec(Map<Enum,Number> fieldsToInc, Query<T> matching, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, Map<String,Number> toUpdate, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public Map<String,Object> inc(Query<?> query, String name, long amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, String name, int amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, String name, double amount, boolean upsert, boolean multiple)
-
inc
public Map<String,Object> inc(Query<?> query, String name, Number amount, boolean upsert, boolean multiple)
-
inc
public <T> Map<String,Object> inc(Query<T> query, Enum<?> field, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, String name, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, Enum<?> field, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, String name, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, Enum<?> field, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, String name, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, Enum<?> field, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
inc
public <T> Map<String,Object> inc(Query<T> query, String name, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, Enum<?> field, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, String name, long amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, Enum<?> field, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, String name, int amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, Enum<?> field, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, String name, double amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, Enum<?> field, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
dec
public <T> Map<String,Object> dec(Query<T> query, String name, Number amount, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
getWriterForClass
public MorphiumWriter getWriterForClass(Class<?> cls)
-
dec
public void dec(Object toDec, Enum<?> field, double amount)
decreasing a value of a given object callesinc(toDec,field,-amount);
-
inc
public <T> void inc(T toSet, Enum<?> field, double i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String field, double i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, Enum<?> field, int i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String field, int i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, Enum<?> field, long i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String field, long i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, Enum<?> field, Number i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String field, Number i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, Enum<?> collection, Enum<?> field, double i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, Enum<?> field, double i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, String field, double i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, Enum<?> field, int i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, String field, int i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, Enum<?> field, long i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, String field, long i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, Enum<?> field, Number i, AsyncOperationCallback<T> callback)
-
inc
public <T> void inc(T toSet, String collection, String field, Number i, AsyncOperationCallback<T> callback)
-
delete
public <T> void delete(List<T> lst, String forceCollectionName, AsyncOperationCallback<T> callback)
-
delete
public <T> void delete(List<T> lst, AsyncOperationCallback<T> callback)
-
inc
public void inc(StatisticKeys k)
-
updateUsingFields
public void updateUsingFields(Object ent, String... fields)
updating an enty in DB without sending the whole entity only transfers the fields to be changed / set- Parameters:
ent- - entity to updatefields- - fields to use
-
updateUsingFields
public <T> void updateUsingFields(T ent, AsyncOperationCallback<T> callback, Enum... fields)
-
updateUsingFields
public <T> void updateUsingFields(T ent, AsyncOperationCallback<T> callback, String... fields)
-
updateUsingFields
public <T> void updateUsingFields(T ent, String collection, AsyncOperationCallback<T> callback, Enum... fields)
-
updateUsingFields
public <T> void updateUsingFields(T ent, String collection, AsyncOperationCallback<T> callback, String... fields)
-
getMapper
public MorphiumObjectMapper getMapper()
-
getARHelper
public AnnotationAndReflectionHelper getARHelper()
-
reread
public <T> T reread(T o)
careful this actually changes the parameter o!- Type Parameters:
T- - tpye of the object- Parameters:
o- - object to read- Returns:
- - entity
-
reread
public <T> T reread(T o, String collection)
-
firePreStore
public void firePreStore(Object o, boolean isNew)
-
firePostStore
public void firePostStore(Object o, boolean isNew)
-
firePreDrop
public void firePreDrop(Class cls)
-
firePostRemove
public <T> void firePostRemove(List<T> toRemove)
-
firePostLoad
public <T> void firePostLoad(List<T> loaded)
-
firePreRemove
public <T> void firePreRemove(List<T> lst)
-
firePreRemove
public void firePreRemove(Object o)
-
firePostDropEvent
public void firePostDropEvent(Class cls)
-
firePostUpdateEvent
public void firePostUpdateEvent(Class cls, MorphiumStorageListener.UpdateTypes t)
-
firePreUpdateEvent
public void firePreUpdateEvent(Class cls, MorphiumStorageListener.UpdateTypes t)
-
firePostRemoveEvent
public void firePostRemoveEvent(Object o)
-
firePostRemoveEvent
public void firePostRemoveEvent(Query q)
-
firePreRemoveEvent
public void firePreRemoveEvent(Query q)
-
deReference
public <T> T deReference(T obj)
de-references the given object of type T. If itself or any of its members is a Proxy (PartiallyUpdateableProxy or LazyDeReferencingProxy), it'll be removed and replaced by the real objet. This is not recursive, only the members here are de-referenced- Type Parameters:
T- - type- Parameters:
obj- - the object to replact- Returns:
- the dereferenced object
-
setNameProviderForClass
public void setNameProviderForClass(Class<?> cls, NameProvider pro)
-
getNameProviderForClass
public NameProvider getNameProviderForClass(Class<?> cls)
-
firePostLoadEvent
public void firePostLoadEvent(Object o)
will be called by query after unmarshalling- Parameters:
o- - entitiy
-
getCurrentRSState
public ReplicaSetStatus getCurrentRSState()
-
isReplicaSet
public boolean isReplicaSet()
-
getReadPreferenceForClass
public ReadPreference getReadPreferenceForClass(Class<?> cls)
-
createBulkRequestContext
public MorphiumBulkContext createBulkRequestContext(Class<?> type, boolean ordered)
-
createBulkRequestContext
public MorphiumBulkContext createBulkRequestContext(String collection, boolean ordered)
-
getWriteConcernForClass
public WriteConcern getWriteConcernForClass(Class<?> cls)
-
clearCollection
public void clearCollection(Class<?> cls)
issues a remove command - no lifecycle methods calles, no drop, keeps all indexec this way- Parameters:
cls- - class
-
clearCollection
public void clearCollection(Class<?> cls, String colName)
issues a remove command - no lifecycle methods calles, no drop, keeps all indexec this way But uses sepcified collection name instead deriving name from class- Parameters:
cls- - classcolName- - CollectionName
-
clearCollectionOneByOne
public void clearCollectionOneByOne(Class<?> cls)
clears every single object in collection - reads ALL objects to do so this way Lifecycle methods can be called!- Parameters:
cls- -class
-
readAll
public <T> List<T> readAll(Class<? extends T> cls)
return a list of all elements stored in morphium for this type- Type Parameters:
T- - Type- Parameters:
cls- - type to search for, needs to be an Property- Returns:
- - list of all elements stored
-
createQueryFor
public <T> Query<T> createQueryFor(Class<? extends T> type, String usingCollectionName)
-
getEstimatedCount
public int getEstimatedCount(Class<?> type)
-
getCount
public long getCount(Class<?> type)
-
find
@Deprecated public <T> List<T> find(Query<T> q)
Deprecated.use query.asList() instead- Type Parameters:
T-- Parameters:
q-- Returns:
-
distinct
public List<Object> distinct(Enum<?> key, Query q)
returns a distinct list of values of the given collection Attention: these values are not unmarshalled, you might get MongoMaps
-
distinct
public List<Object> distinct(String key, Query q)
returns a distinct list of values of the given collection Attention: these values are not unmarshalled, you might get MongoMaps
-
findById
public <T> void findById(Class<? extends T> type, Object id, String collection, AsyncOperationCallback callback)
-
setAutoValues
public <T> boolean setAutoValues(T o) throws IllegalAccessException- Throws:
IllegalAccessException
-
clearCachefor
public void clearCachefor(Class<?> cls)
Erase cache entries for the given type. is being called after every store depending on cache settings!- Parameters:
cls- - class
-
clearCacheforClassIfNecessary
public void clearCacheforClassIfNecessary(Class<?> cls)
-
storeNoCache
public <T> void storeNoCache(T lst)
-
storeNoCache
public <T> void storeNoCache(T o, AsyncOperationCallback<T> callback)
-
storeNoCache
public <T> void storeNoCache(T o, String collection)
-
storeNoCache
public <T> void storeNoCache(T o, String collection, AsyncOperationCallback<T> callback)
-
storeBuffered
public <T> void storeBuffered(T lst)
-
storeBuffered
public <T> void storeBuffered(T lst, AsyncOperationCallback<T> callback)
-
storeBuffered
public <T> void storeBuffered(T lst, String collection, AsyncOperationCallback<T> callback)
-
flush
public void flush()
-
flush
public void flush(Class type)
-
dropCollection
public <T> void dropCollection(Class<T> cls, AsyncOperationCallback<T> callback)
-
dropCollection
public <T> void dropCollection(Class<T> cls, String collection, AsyncOperationCallback<T> callback)
-
dropCollection
public void dropCollection(Class<?> cls)
-
ensureIndicesFor
public <T> void ensureIndicesFor(Class<T> type)
can be called for autmatic index ensurance. Attention: might cause heavy load on mongo- Parameters:
type- type to ensure indices for
-
ensureIndicesFor
public <T> void ensureIndicesFor(Class<T> type, AsyncOperationCallback<T> callback)
-
ensureIndicesFor
public <T> void ensureIndicesFor(Class<T> type, String onCollection, AsyncOperationCallback<T> callback)
-
ensureIndicesFor
public <T> void ensureIndicesFor(Class<T> type, String onCollection, AsyncOperationCallback<T> callback, MorphiumWriter wr)
-
ensureIndex
@Deprecated public void ensureIndex(Class<?> cls, Map<String,Object> index)
Deprecated.
-
ensureIndex
@Deprecated public void ensureIndex(Class<?> cls, String collection, Map<String,Object> index, Map<String,Object> options)
Deprecated.
-
ensureIndex
@Deprecated public void ensureIndex(Class<?> cls, String collection, Map<String,Object> index)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, AsyncOperationCallback<T> callback, Enum... fldStr)
Deprecated.ensureIndex(CachedObject.class,"counter","-value"); ensureIndex(CachedObject.class,"counter:2d","-value); Similar to sorting- Parameters:
cls- - classfldStr- - fields
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, String collection, AsyncOperationCallback<T> callback, Enum... fldStr)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, AsyncOperationCallback<T> callback, String... fldStr)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, String collection, AsyncOperationCallback<T> callback, String... fldStr)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, Map<String,Object> index, AsyncOperationCallback<T> callback)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, String collection, Map<String,Object> index, Map<String,Object> options, AsyncOperationCallback<T> callback)
Deprecated.
-
ensureIndex
@Deprecated public <T> void ensureIndex(Class<T> cls, String collection, Map<String,Object> index, AsyncOperationCallback<T> callback)
Deprecated.
-
createIndex
public <T> void createIndex(Class<T> cls, String collection, IndexDescription index, AsyncOperationCallback<T> callback)
-
getIndexesFromMongo
public List<IndexDescription> getIndexesFromMongo(Class cls)
-
getIndexesFromMongo
public List<IndexDescription> getIndexesFromMongo(String collection)
-
getIndexesFromEntity
public <T> List<IndexDescription> getIndexesFromEntity(Class<T> type)
-
writeBufferCount
public int writeBufferCount()
-
store
public <T> void store(List<T> lst, String collectionName, AsyncOperationCallback<T> callback)
-
getDatabase
public String getDatabase()
-
insert
public <T> void insert(T o)
-
insert
public <T> void insert(T o, AsyncOperationCallback<T> callback)
-
insert
public <T> void insert(T o, String collection, AsyncOperationCallback<T> callback)
-
insertList
public <T> void insertList(List lst, String collection, AsyncOperationCallback<T> callback)
-
insertList
public <T> void insertList(List arrayList, AsyncOperationCallback<T> callback)
-
insertList
public <T> void insertList(List arrayList)
-
storeMaps
public Map<String,Integer> storeMaps(Class type, List<Map<String,Object>> lst) throws MorphiumDriverException
directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!- Parameters:
type- - type to write to (just for determining collection name)lst- - list of entries to write- Returns:
- statistics
- Throws:
MorphiumDriverException
-
saveMaps
public Map<String,Integer> saveMaps(Class type, List<Map<String,Object>> lst) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
storeMaps
public Map<String,Integer> storeMaps(String collection, List<Map<String,Object>> lst) throws MorphiumDriverException
directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!- Parameters:
collection- - name of colleciton to write tolst- - list of entries to write- Returns:
- statistics
- Throws:
MorphiumDriverException
-
saveMaps
public Map<String,Integer> saveMaps(String collection, List<Map<String,Object>> lst) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
storeMap
public Map<String,Integer> storeMap(String collection, Map<String,Object> m) throws MorphiumDriverException
directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!- Parameters:
collection- collection namem- data to write- Returns:
- statistics
- Throws:
MorphiumDriverException
-
saveMap
public Map<String,Integer> saveMap(String collection, Map<String,Object> m) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
storeMap
public Map<String,Object> storeMap(Class type, Map<String,Object> m) throws MorphiumDriverException
directly writes data to Mongo, no Mapper used use with caution, as caches are not updated also no checks for validity of fields, no references, no auto-variables no async writing!- Parameters:
type- - type, used to determine collection namem- - data to write- Returns:
- statistics
- Throws:
MorphiumDriverException
-
store
public <T> void store(T o)
Stores a single Object. Clears the corresponding cache- Parameters:
o- - Object to store
-
save
public <T> void save(T o)
-
store
public <T> void store(T o, AsyncOperationCallback<T> callback)
-
save
public <T> void save(T o, AsyncOperationCallback<T> callback)
-
store
public <T> void store(T o, String collection, AsyncOperationCallback<T> callback)
-
save
public <T> void save(T o, String collection, AsyncOperationCallback<T> callback)
-
save
public <T> void save(List<T> lst, AsyncOperationCallback<T> callback)
-
store
public <T> void store(List<T> lst, AsyncOperationCallback<T> callback)
-
storeList
public <T> void storeList(List<T> lst, String collection)
stores all elements of this list to the given collection- Type Parameters:
T- - type of entity- Parameters:
lst- - list of objects to storecollection- - collection name to use
-
storeList
public <T> void storeList(List<T> lst, String collection, AsyncOperationCallback<T> callback)
-
saveList
public <T> void saveList(List<T> lst, String collection, AsyncOperationCallback<T> callback)
-
storeList
public <T> void storeList(List<T> lst)
sorts elements in this list, whether to store in background or directly.- Type Parameters:
T- - type of list elements- Parameters:
lst- - all objects are sorted whether to store in BG or direclty. All objects are stored in their corresponding collection
-
saveList
public <T> void saveList(List<T> lst)
-
storeList
public <T> void storeList(Set<T> set)
-
saveList
public <T> void saveList(Set<T> set)
-
storeList
public <T> void storeList(List<T> lst, AsyncOperationCallback<T> callback)
-
saveList
public <T> void saveList(List<T> lst, AsyncOperationCallback<T> callback)
-
delete
public <T> void delete(Query<T> o)
-
delete
public <T> void delete(Query<T> o, AsyncOperationCallback<T> callback)
-
pushPull
public <T> void pushPull(boolean push, Query<T> query, String field, Object value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pushPullAll
public <T> void pushPullAll(boolean push, Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
pullAll
public <T> void pullAll(Query<T> query, String field, List<?> value, boolean upsert, boolean multiple, AsyncOperationCallback<T> callback)
-
delete
public void delete(Object o)
deletes a single object from morphium backend. Clears cache- Parameters:
o- - entity
-
delete
public <T> void delete(T lo, AsyncOperationCallback<T> callback)
-
delete
public <T> void delete(T lo, String collection, AsyncOperationCallback<T> callback)
-
exists
public boolean exists(String db) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
exists
public boolean exists(String db, String col) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
exists
public boolean exists(Class<?> cls) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
resetStatistics
public void resetStatistics()
-
getStats
public Map<StatisticKeys,StatisticValue> getStats()
-
getShutDownListeners
public List<ShutdownListener> getShutDownListeners()
-
addShutdownListener
public void addShutdownListener(ShutdownListener l)
-
removeShutdownListener
public void removeShutdownListener(ShutdownListener l)
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable
-
mapReduce
public <T> List<T> mapReduce(Class<? extends T> type, String map, String reduce) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
createAggregator
public <T,R> Aggregator<T,R> createAggregator(Class<? extends T> type, Class<? extends R> resultType)
-
createLazyLoadedEntity
public <T> T createLazyLoadedEntity(Class<? extends T> cls, Object id, String collectionName)
-
getWriteBufferCount
public int getWriteBufferCount()
-
getBufferedWriterBufferCount
public int getBufferedWriterBufferCount()
-
getAsyncWriterBufferCount
public int getAsyncWriterBufferCount()
-
getWriterBufferCount
public int getWriterBufferCount()
-
disableAutoValuesForThread
public void disableAutoValuesForThread()
-
enableAutoValuesForThread
public void enableAutoValuesForThread()
-
isAutoValuesEnabledForThread
public boolean isAutoValuesEnabledForThread()
-
disableReadCacheForThread
public void disableReadCacheForThread()
-
enableReadCacheForThread
public void enableReadCacheForThread()
-
isReadCacheEnabledForThread
public boolean isReadCacheEnabledForThread()
-
disableWriteBufferForThread
public void disableWriteBufferForThread()
-
enableWriteBufferForThread
public void enableWriteBufferForThread()
-
isWriteBufferEnabledForThread
public boolean isWriteBufferEnabledForThread()
-
disableAsyncWritesForThread
public void disableAsyncWritesForThread()
-
enableAsyncWritesForThread
public void enableAsyncWritesForThread()
-
isAsyncWritesEnabledForThread
public boolean isAsyncWritesEnabledForThread()
-
queueTask
public void queueTask(Runnable runnable)
-
getNumberOfAvailableThreads
public int getNumberOfAvailableThreads()
-
getActiveThreads
public int getActiveThreads()
-
startTransaction
public void startTransaction()
-
getTransaction
public MorphiumTransactionContext getTransaction()
-
setTransaction
public void setTransaction(MorphiumTransactionContext ctx)
-
commitTransaction
public void commitTransaction()
-
abortTransaction
public void abortTransaction()
-
watchAsync
public <T> void watchAsync(String collectionName, boolean updateFull, ChangeStreamListener lst)
-
watchAsync
public <T> void watchAsync(String collectionName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watchAsync
public <T> void watchAsync(Class<T> entity, boolean updateFull, ChangeStreamListener lst)
-
watchAsync
public <T> void watchAsync(Class<T> entity, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watch
public <T> void watch(Class<T> entity, boolean updateFull, ChangeStreamListener lst)
-
watch
public <T> void watch(Class<T> entity, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watch
public <T> void watch(String collectionName, boolean updateFull, ChangeStreamListener lst)
-
watch
public <T> void watch(String collectionName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watch
public <T> void watch(String collectionName, int maxWaitTime, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watchDbAsync
public <T> AtomicBoolean watchDbAsync(String dbName, boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watchDbAsync
public <T> AtomicBoolean watchDbAsync(boolean updateFull, AtomicBoolean runningFlag, ChangeStreamListener lst)
-
watchDbAsync
public <T> AtomicBoolean watchDbAsync(boolean updateFull, List<Map<String,Object>> pipeline, ChangeStreamListener lst)
-
watchDb
public <T> void watchDb(boolean updateFull, ChangeStreamListener lst)
-
watchDb
public <T> void watchDb(String dbName, boolean updateFull, ChangeStreamListener lst)
-
watchDb
public <T> void watchDb(String dbName, boolean updateFull, List<Map<String,Object>> pipeline, AtomicBoolean runningFlag, ChangeStreamListener lst)
-
watchDb
public <T> void watchDb(String dbName, int maxWaitTime, boolean updateFull, List<Map<String,Object>> pipeline, AtomicBoolean runningFlag, ChangeStreamListener lst)
-
reset
public void reset()
-
getMissingIndicesFor
public List<IndexDescription> getMissingIndicesFor(Class<?> entity) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
getMissingIndicesFor
public List<IndexDescription> getMissingIndicesFor(Class<?> entity, String collection) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
checkIndices
public Map<Class<?>,List<IndexDescription>> checkIndices()
run trhough classpath, find all Entities, check indices returns a list of Entities, whos indices are missing or different
-
checkIndices
public Map<Class<?>,List<IndexDescription>> checkIndices(io.github.classgraph.ClassInfoList.ClassInfoFilter filter)
-
lockEntities
public <T> List<T> lockEntities(Query<T> q, String lockId, int maxLockTimeMs) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
releaseLock
public void releaseLock(Object obj) throws MorphiumDriverException
- Throws:
MorphiumDriverException
-
-