blob: c5073d71b51082e1c65a5756d6027e800e2486ec [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
package org.eclipse.persistence.internal.nosql.adapters.mongo;
import java.util.ArrayList;
import java.util.List;
import javax.resource.cci.*;
import com.mongodb.ReadPreference;
import com.mongodb.WriteConcern;
/**
* Defines connection information for connecting to Mongo.
*
* @author James
* @since EclipseLink 2.4
*/
public class MongoJCAConnectionSpec implements ConnectionSpec {
/** Mongo database name. */
protected String db = "mydb";
/** Optional user name. */
protected String user;
/** Optional password. */
protected char[] password;
/** Hosts. */
protected List<String> hosts = new ArrayList<String>();
/** Ports. */
protected List<Integer> ports = new ArrayList<Integer>();
/** Database default query options. */
protected int options;
/** Database default read preference. */
protected ReadPreference readPreference;
/** Database default write concern. */
protected WriteConcern writeConcern;
/**
* PUBLIC:
* Default constructor.
*/
public MongoJCAConnectionSpec() {
}
/**
* PUBLIC:
* Construct the spec with the default directory.
*/
public MongoJCAConnectionSpec(String db) {
this.db = db;
}
public String getDB() {
return db;
}
public void setDB(String db) {
this.db = db;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
protected char[] getPassword() {
return password;
}
public void setPassword(char[] password) {
this.password = password;
}
public List<String> getHosts() {
return hosts;
}
public void setHosts(List<String> hosts) {
this.hosts = hosts;
}
public List<Integer> getPorts() {
return ports;
}
public void setPorts(List<Integer> ports) {
this.ports = ports;
}
public String toString() {
return getClass().getSimpleName() + "(" + this.db + ")";
}
public int getOptions() {
return options;
}
public void setOptions(int options) {
this.options = options;
}
public ReadPreference getReadPreference() {
return readPreference;
}
public void setReadPreference(ReadPreference readPreference) {
this.readPreference = readPreference;
}
public WriteConcern getWriteConcern() {
return writeConcern;
}
public void setWriteConcern(WriteConcern writeConcern) {
this.writeConcern = writeConcern;
}
}