1 /*
2 * #%L
3 * MongoDbConfiguration.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 java.net.InetSocketAddress;
23
24 /**
25 * Contains the configuration for the connection(s) to the MongoDB servers. This
26 * class is the same as and extends the {@link MongoClientConfiguration} except
27 * it defaults the {@link Durability} to {@link Durability#NONE} instead of
28 * {@link Durability#ACK}.
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 * @deprecated Please us the {@link MongoClientConfiguration} instead. This
35 * class will be removed on or after the 1.3.0 release.
36 * @copyright 2011-2013, Allanbank Consulting, Inc., All Rights Reserved
37 */
38 @Deprecated
39 public class MongoDbConfiguration extends MongoClientConfiguration {
40
41 /** Serialization version for the class. */
42 private static final long serialVersionUID = -3986785427935492378L;
43
44 /**
45 * Creates a new MongoDbConfiguration.
46 */
47 public MongoDbConfiguration() {
48 super();
49
50 setDefaultDurability(Durability.NONE);
51 }
52
53 /**
54 * Creates a new MongoDbConfiguration.
55 *
56 * @param servers
57 * The initial set of servers to connect to.
58 */
59 public MongoDbConfiguration(final InetSocketAddress... servers) {
60 super(servers);
61
62 setDefaultDurability(Durability.NONE);
63 }
64
65 /**
66 * Creates a new MongoDbConfiguration.
67 *
68 * @param other
69 * The configuration to copy.
70 */
71 public MongoDbConfiguration(final MongoDbConfiguration other) {
72 super(other);
73 }
74
75 /**
76 * Creates a new {@link MongoDbConfiguration} instance using a MongoDB style
77 * URL to initialize its state. Further configuration is possible once the
78 * {@link MongoDbConfiguration} has been instantiated.
79 *
80 * @param mongoDbUri
81 * The configuration for the connection to MongoDB expressed as a
82 * MongoDB URL.
83 * @throws IllegalArgumentException
84 * If the <tt>mongoDbUri</tt> is not a properly formated MongoDB
85 * style URL.
86 *
87 * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
88 * Connections</a>
89 */
90 public MongoDbConfiguration(final MongoDbUri mongoDbUri)
91 throws IllegalArgumentException {
92 super(mongoDbUri, Durability.NONE);
93 }
94
95 /**
96 * Creates a new {@link MongoDbConfiguration} instance using a MongoDB style
97 * URL to initialize its state. Further configuration is possible once the
98 * {@link MongoDbConfiguration} has been instantiated.
99 *
100 * @param mongoDbUri
101 * The configuration for the connection to MongoDB expressed as a
102 * MongoDB URL.
103 * @throws IllegalArgumentException
104 * If the <tt>mongoDbUri</tt> is not a properly formated MongoDB
105 * style URL.
106 *
107 * @see <a href="http://www.mongodb.org/display/DOCS/Connections"> MongoDB
108 * Connections</a>
109 */
110 public MongoDbConfiguration(final String mongoDbUri)
111 throws IllegalArgumentException {
112 this(new MongoDbUri(mongoDbUri));
113 }
114
115 /**
116 * Creates a copy of this MongoClientConfiguration.
117 * <p>
118 * Note: This is not a traditional clone to ensure a deep copy of all
119 * information.
120 * </p>
121 */
122 @Override
123 public MongoDbConfiguration clone() {
124 return (MongoDbConfiguration) super.clone();
125 }
126 }