Java tutorial
/******************************************************************************* * Copyright 2012 Javier Ignacio Lecuona * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package com.sube.daos.mongodb.generators; import org.bson.BSONObject; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBRef; import com.sube.beans.MongoBean; public class GenericDBRefGenerator<T extends MongoBean> implements DBRefGenerator<T> { private DB db; private String collection; @Override public DBRef generateDBRef(T toGenerate) { DBCollection dbCollection = db.getCollection(collection); // { $ref : <collname>, $id : <idvalue>[, $db : <dbname>] } BSONObject dbRefObj = new BasicDBObject("$ref", dbCollection.getName()) .append("$id", toGenerate.getMongoId()).append("$db", db.getName()); DBRef dbRef = new DBRef(db, dbRefObj); return dbRef; } public void setDb(DB db) { this.db = db; } public void setCollection(String collection) { this.collection = collection; } }