All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.despegar.integration.mongo.connector.MongoCollectionFactory Maven / Gradle / Ivy

There is a newer version: 1.1.10
Show newest version
package com.despegar.integration.mongo.connector;

import java.net.UnknownHostException;

import com.despegar.integration.mongo.entities.GenericIdentifiableEntity;
import com.despegar.integration.mongo.id.IdGenerator;
import com.despegar.integration.mongo.id.StringIdGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;

public class MongoCollectionFactory {

    public MongoCollectionFactory(MongoDBConnection mongoDBConnection) {
        this.mongoDBConnection = mongoDBConnection;

        this.idGenerator = new StringIdGenerator();
        this.mapper = new ObjectMapper();
    }

    private IdGenerator idGenerator;
    private ObjectMapper mapper;
    private MongoDBConnection mongoDBConnection;

    public > MongoCollection buildMongoCollection(String collection,
        Class clazz) throws UnknownHostException {
        MongoDao mongoDao = new MongoDao(this.mongoDBConnection.getDB(), collection, this.mapper, clazz,
            this.idGenerator);
        return new MongoCollection(collection, clazz, mongoDao);
    }

    public static > MongoCollection buildMongoCollection(String collection,
        Class clazz, MongoDBConnection mongoDBConnection, IdGenerator idGenerator, ObjectMapper mapper)
        throws UnknownHostException {

        MongoDao mongoDao = new MongoDao(mongoDBConnection.getDB(), collection, mapper, clazz, idGenerator);
        return new MongoCollection(collection, clazz, mongoDao);
    }

    public void setIdGenerator(IdGenerator idGenerator) {
        this.idGenerator = idGenerator;
    }

    public void setMapper(ObjectMapper mapper) {
        this.mapper = mapper;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy