Coverage Report - com.allanbank.mongodb.MongoFactory
 
Classes in this File Line Coverage Branch Coverage Complexity
MongoFactory
75%
6/8
N/A
1
 
 1  
 /*
 2  
  * #%L
 3  
  * MongoFactory.java - mongodb-async-driver - Allanbank Consulting, Inc.
 4  
  * %%
 5  
  * Copyright (C) 2011 - 2014 Allanbank Consulting, Inc.
 6  
  * %%
 7  
  * Licensed under the Apache License, Version 2.0 (the "License");
 8  
  * you may not use this file except in compliance with the License.
 9  
  * You may obtain a copy of the License at
 10  
  * 
 11  
  *      http://www.apache.org/licenses/LICENSE-2.0
 12  
  * 
 13  
  * Unless required by applicable law or agreed to in writing, software
 14  
  * distributed under the License is distributed on an "AS IS" BASIS,
 15  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 16  
  * See the License for the specific language governing permissions and
 17  
  * limitations under the License.
 18  
  * #L%
 19  
  */
 20  
 package com.allanbank.mongodb;
 21  
 
 22  
 import com.allanbank.mongodb.client.MongoClientImpl;
 23  
 
 24  
 /**
 25  
  * MongoFactory provides the bootstrap point for creating a connection
 26  
  * represented via a {@link Mongo} instance) to a MongoDB cluster. Both explicit
 27  
  * construction with a pre-instantiated {@link MongoClientConfiguration} and via
 28  
  * a MongoDB URI are supported.
 29  
  * 
 30  
  * @api.yes This class is part of the driver's API. Public and protected members
 31  
  *          will be deprecated for at least 1 non-bugfix release (version
 32  
  *          numbers are <major>.<minor>.<bugfix>) before being
 33  
  *          removed or modified.
 34  
  * @copyright 2012-2013, Allanbank Consulting, Inc., All Rights Reserved
 35  
  */
 36  
 public class MongoFactory {
 37  
 
 38  
     /**
 39  
      * Creates a new {@link Mongo} instance using the
 40  
      * {@link MongoClientConfiguration}.
 41  
      * 
 42  
      * @param config
 43  
      *            The configuration for the connection to MongoDB.
 44  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 45  
      * @deprecated Use the {@link #createClient(MongoClientConfiguration)}
 46  
      *             instead. This method will be removed on or after the 1.3.0
 47  
      *             release.
 48  
      */
 49  
     @Deprecated
 50  
     public static Mongo create(final MongoDbConfiguration config) {
 51  2
         return new com.allanbank.mongodb.client.MongoImpl(config);
 52  
     }
 53  
 
 54  
     /**
 55  
      * Creates a new {@link Mongo} instance using a MongoDB style URL.
 56  
      * 
 57  
      * @param mongoDbUri
 58  
      *            The configuration for the connection to MongoDB expressed as a
 59  
      *            MongoDB URL.
 60  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 61  
      * 
 62  
      * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
 63  
      *      Connections</a>
 64  
      * @deprecated Use the {@link #createClient(MongoDbUri)} instead. This
 65  
      *             method will be removed on or after the 1.3.0 release.
 66  
      */
 67  
     @Deprecated
 68  
     public static Mongo create(final MongoDbUri mongoDbUri) {
 69  1
         return create(new MongoDbConfiguration(mongoDbUri));
 70  
     }
 71  
 
 72  
     /**
 73  
      * Creates a new {@link Mongo} instance using a MongoDB style URL.
 74  
      * 
 75  
      * @param mongoDbUri
 76  
      *            The configuration for the connection to MongoDB expressed as a
 77  
      *            MongoDB URL.
 78  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 79  
      * 
 80  
      * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
 81  
      *      Connections</a>
 82  
      * @deprecated Use the {@link #createClient(String)} instead. This method
 83  
      *             will be removed on or after the 1.3.0 release.
 84  
      */
 85  
     @Deprecated
 86  
     public static Mongo create(final String mongoDbUri) {
 87  1
         return create(new MongoDbUri(mongoDbUri));
 88  
     }
 89  
 
 90  
     /**
 91  
      * Creates a new {@link Mongo} instance using the
 92  
      * {@link MongoClientConfiguration}.
 93  
      * 
 94  
      * @param config
 95  
      *            The configuration for the connection to MongoDB.
 96  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 97  
      */
 98  
     public static MongoClient createClient(final MongoClientConfiguration config) {
 99  5
         return new MongoClientImpl(config);
 100  
     }
 101  
 
 102  
     /**
 103  
      * Creates a new {@link Mongo} instance using a MongoDB style URL.
 104  
      * 
 105  
      * @param mongoDbUri
 106  
      *            The configuration for the connection to MongoDB expressed as a
 107  
      *            MongoDB URL.
 108  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 109  
      * 
 110  
      * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
 111  
      *      Connections</a>
 112  
      */
 113  
     public static MongoClient createClient(final MongoDbUri mongoDbUri) {
 114  4
         return createClient(new MongoClientConfiguration(mongoDbUri));
 115  
     }
 116  
 
 117  
     /**
 118  
      * Creates a new {@link Mongo} instance using a MongoDB style URL.
 119  
      * 
 120  
      * @param mongoDbUri
 121  
      *            The configuration for the connection to MongoDB expressed as a
 122  
      *            MongoDB URL.
 123  
      * @return The {@link Mongo} representation of the connections to MongoDB.
 124  
      * 
 125  
      * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
 126  
      *      Connections</a>
 127  
      */
 128  
     public static MongoClient createClient(final String mongoDbUri) {
 129  1
         return createClient(new MongoDbUri(mongoDbUri));
 130  
     }
 131  
 
 132  
     /**
 133  
      * Stop creation of a new MongoFactory.
 134  
      */
 135  
     private MongoFactory() {
 136  0
         super();
 137  0
     }
 138  
 }