public class MongoDB extends BasicDatabase
connected, operationManager, serializers
Constructor and Description |
---|
MongoDB() |
Modifier and Type | Method and Description |
---|---|
void |
connect(java.util.Map<java.lang.String,java.lang.String> credentials)
Connect to database via credentials
|
void |
connect(java.lang.String uri)
Connect to database via connection url
|
<T extends BaseModel> |
delete(T object,
java.lang.Class<T> modelClass)
Deletes object in database which matches provided object
|
protected <T extends BaseModel> |
deserialize(java.lang.Class<T> modelClass,
com.mongodb.client.FindIterable<org.bson.Document> receivedObjects) |
<T extends BaseModel> |
fetchAll(java.lang.Class<T> modelClass)
Fetch all objects which matches model class
|
<T extends BaseModel> |
fetchMatching(java.lang.Class<T> modelClass,
java.lang.String key,
java.lang.Object value)
Fetch all objects which match provided conditions
|
com.mongodb.client.ClientSession |
getClientSession()
Get client session
|
void |
initModel(java.util.Collection<java.lang.Class<? extends BaseModel>> modelClasses)
Initialize table in database.
|
boolean |
isConnectionValid()
Checks is connection to database valid
|
<T extends BaseModel> |
save(T object,
java.lang.Class<T> modelClass)
Save object
|
<T extends BaseModel> |
save(T object,
java.lang.Class<T> modelClass,
java.util.Map<java.lang.String,java.lang.Object> options)
Save object
|
<T extends BaseModel> |
saveMany(java.util.Collection<T> objects,
java.lang.Class<T> modelClass)
Save Many object
|
<T extends BaseModel> |
saveMany(java.util.Collection<T> objects,
java.lang.Class<T> modelClass,
java.util.Map<java.lang.String,java.lang.Object> options)
Save Many object
|
protected <T extends BaseModel> |
saveManyToDatabase(java.util.Collection<T> objects,
java.lang.Class<T> modelClass,
java.util.Map<java.lang.String,java.lang.Object> options) |
protected <T extends BaseModel> |
saveToDatabase(T object,
java.lang.Class<T> modelClass,
java.util.Map<java.lang.String,java.lang.Object> options) |
protected <T extends BaseModel> |
serialize(java.lang.Class<T> modelClass,
T object) |
void |
terminateConnection()
Terminates connections
|
filter, getOperationManager, registerSerializer
public com.mongodb.client.ClientSession getClientSession()
public void connect(java.lang.String uri) throws AlreadyConnectedException
Database
uri
- URI stringAlreadyConnectedException
- Already connected to databasepublic void connect(java.util.Map<java.lang.String,java.lang.String> credentials) throws AlreadyConnectedException
Database
credentials
- Map with defined keys and values as credentialsAlreadyConnectedException
- Already connected to databasepublic final void initModel(java.util.Collection<java.lang.Class<? extends BaseModel>> modelClasses) throws ModelAnnotationMissingException, MoreThanOnePrimaryKeyException, NoPrimaryKeyException
Database
modelClasses
- One or multiple class of modelsModelAnnotationMissingException
- Exception when model is not using @Model annotationMoreThanOnePrimaryKeyException
- Exception when model have more than one field set as primary keyNoPrimaryKeyException
- Exception when model don't have field as primary keypublic <T extends BaseModel> java.util.List<T> fetchAll(java.lang.Class<T> modelClass) throws ModelAnnotationMissingException, NotConnectedToDatabaseException, ModelNotInitializedException, NoSerializerFoundException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException, java.lang.IllegalAccessException
Database
T
- Model classmodelClass
- Model classModelAnnotationMissingException
- Exception when model is not using @Model annotationNotConnectedToDatabaseException
- Not connected to databaseModelNotInitializedException
- Model wasn't initializedNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionpublic <T extends BaseModel> java.util.List<T> fetchMatching(java.lang.Class<T> modelClass, java.lang.String key, java.lang.Object value) throws NotConnectedToDatabaseException, ModelNotInitializedException, ModelAnnotationMissingException, NoSerializerFoundException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException, java.lang.IllegalAccessException
Database
T
- Model classmodelClass
- Model classkey
- Object key in database (field name)value
- Not serialized value of fieldNotConnectedToDatabaseException
- Not connected to databaseModelNotInitializedException
- Model wasn't initializedModelAnnotationMissingException
- Exception when model is not using @Model annotationNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionprotected <T extends BaseModel> org.bson.Document serialize(java.lang.Class<T> modelClass, T object) throws NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
NoSerializerFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
protected <T extends BaseModel> java.util.List<T> deserialize(java.lang.Class<T> modelClass, com.mongodb.client.FindIterable<org.bson.Document> receivedObjects) throws NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, NotConnectedToDatabaseException
NoSerializerFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
NotConnectedToDatabaseException
public <T extends BaseModel> void saveMany(java.util.Collection<T> objects, java.lang.Class<T> modelClass) throws NoSerializerFoundException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException, java.lang.IllegalAccessException, NotConnectedToDatabaseException
Database
T
- Model classobjects
- Collection of objectsmodelClass
- class of object modelNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionNotConnectedToDatabaseException
- Not connected to databasepublic <T extends BaseModel> void saveMany(java.util.Collection<T> objects, java.lang.Class<T> modelClass, java.util.Map<java.lang.String,java.lang.Object> options) throws NoSerializerFoundException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException, java.lang.IllegalAccessException, NotConnectedToDatabaseException
Database
T
- Model classobjects
- Collection of objectsmodelClass
- class of object modeloptions
- Options for savingNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionNotConnectedToDatabaseException
- Not connected to databaseprotected <T extends BaseModel> void saveManyToDatabase(java.util.Collection<T> objects, java.lang.Class<T> modelClass, java.util.Map<java.lang.String,java.lang.Object> options) throws NoSerializerFoundException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException, java.lang.IllegalAccessException, NotConnectedToDatabaseException
NoSerializerFoundException
java.lang.reflect.InvocationTargetException
java.lang.InstantiationException
java.lang.IllegalAccessException
NotConnectedToDatabaseException
public <T extends BaseModel> void save(T object, java.lang.Class<T> modelClass) throws NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, NotConnectedToDatabaseException
Database
T
- Model classobject
- objectmodelClass
- class of object modelNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodNotConnectedToDatabaseException
- Not connected to databasepublic <T extends BaseModel> void save(T object, java.lang.Class<T> modelClass, java.util.Map<java.lang.String,java.lang.Object> options) throws NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, NotConnectedToDatabaseException
Database
T
- Model classobject
- objectmodelClass
- class of object modeloptions
- Options for savingNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodNotConnectedToDatabaseException
- Not connected to databaseprotected <T extends BaseModel> void saveToDatabase(T object, java.lang.Class<T> modelClass, java.util.Map<java.lang.String,java.lang.Object> options) throws NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, NotConnectedToDatabaseException
NoSerializerFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
NotConnectedToDatabaseException
public <T extends BaseModel> void delete(T object, java.lang.Class<T> modelClass) throws NotConnectedToDatabaseException, NoSerializerFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
Database
T
- Model classobject
- objectmodelClass
- Model classNotConnectedToDatabaseException
- Not connected to databaseNoSerializerFoundException
- Serializer for field model wasn't foundjava.lang.InstantiationException
- Java exception when model class wasn't able to create own instancejava.lang.IllegalAccessException
- Java security exceptionjava.lang.reflect.InvocationTargetException
- Java exception when wasn't able to invoke methodpublic boolean isConnectionValid()
Database
public void terminateConnection() throws NotConnectedToDatabaseException
Database
NotConnectedToDatabaseException
- Not connected to database