/*
* Copyright 2016 MongoDB, Inc.
*
* 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 org.mongodb.morphia.query;
/*
* Copyright 2016 MongoDB, Inc.
*
* 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.
*/
import com.mongodb.ReadConcern;
import com.mongodb.ReadPreference;
import com.mongodb.client.model.Collation;
import com.mongodb.client.model.DBCollectionCountOptions;
import java.util.concurrent.TimeUnit;
import static com.mongodb.assertions.Assertions.notNull;
The options for a count operation.
@mongodb.driver.manual reference/command/count/ Count Since: 1.3
/**
* The options for a count operation.
*
* @mongodb.driver.manual reference/command/count/ Count
* @since 1.3
*/
public class CountOptions {
private DBCollectionCountOptions options = new DBCollectionCountOptions();
Sets the collation
Params: - collation – the collation
Returns: this @mongodb.server.release 3.4
/**
* Sets the collation
*
* @param collation the collation
* @return this
* @mongodb.server.release 3.4
*/
public CountOptions collation(final Collation collation) {
options.collation(collation);
return this;
}
Returns the collation options
Returns: the collation options @mongodb.server.release 3.4
/**
* Returns the collation options
*
* @return the collation options
* @mongodb.server.release 3.4
*/
public Collation getCollation() {
return options.getCollation();
}
Gets the hint to apply.
Returns: the hint, which should describe an existing
/**
* Gets the hint to apply.
*
* @return the hint, which should describe an existing
*/
public String getHint() {
return options.getHintString();
}
Gets the limit to apply. The default is 0, which means there is no limit.
Returns: the limit @mongodb.driver.manual reference/method/cursor.limit/#cursor.limit Limit
/**
* Gets the limit to apply. The default is 0, which means there is no limit.
*
* @return the limit
* @mongodb.driver.manual reference/method/cursor.limit/#cursor.limit Limit
*/
public int getLimit() {
return options.getLimit();
}
Gets the maximum execution time on the server for this operation. The default is 0, which places no limit on the execution time.
Params: - timeUnit – the time unit to return the result in
Returns: the maximum execution time in the given time unit
/**
* Gets the maximum execution time on the server for this operation. The default is 0, which places no limit on the execution time.
*
* @param timeUnit the time unit to return the result in
* @return the maximum execution time in the given time unit
*/
public long getMaxTime(final TimeUnit timeUnit) {
notNull("timeUnit", timeUnit);
return options.getMaxTime(timeUnit);
}
Returns the readConcern
Returns: the readConcern @mongodb.server.release 3.2
/**
* Returns the readConcern
*
* @return the readConcern
* @mongodb.server.release 3.2
*/
public ReadConcern getReadConcern() {
return options.getReadConcern();
}
Returns the readPreference
Returns: the readPreference
/**
* Returns the readPreference
*
* @return the readPreference
*/
public ReadPreference getReadPreference() {
return options.getReadPreference();
}
Gets the number of documents to skip. The default is 0.
Returns: the number of documents to skip @mongodb.driver.manual reference/method/cursor.skip/#cursor.skip Skip
/**
* Gets the number of documents to skip. The default is 0.
*
* @return the number of documents to skip
* @mongodb.driver.manual reference/method/cursor.skip/#cursor.skip Skip
*/
public int getSkip() {
return options.getSkip();
}
Sets the hint to apply.
Params: - hint – the name of the index which should be used for the operation
Returns: this
/**
* Sets the hint to apply.
*
* @param hint the name of the index which should be used for the operation
* @return this
*/
public CountOptions hint(final String hint) {
options.hintString(hint);
return this;
}
Sets the limit to apply.
Params: - limit – the limit
Returns: this @mongodb.driver.manual reference/method/cursor.limit/#cursor.limit Limit
/**
* Sets the limit to apply.
*
* @param limit the limit
* @return this
* @mongodb.driver.manual reference/method/cursor.limit/#cursor.limit Limit
*/
public CountOptions limit(final int limit) {
options.limit(limit);
return this;
}
Sets the maximum execution time on the server for this operation.
Params: - maxTime – the max time
- timeUnit – the time unit, which may not be null
Returns: this
/**
* Sets the maximum execution time on the server for this operation.
*
* @param maxTime the max time
* @param timeUnit the time unit, which may not be null
* @return this
*/
public CountOptions maxTime(final long maxTime, final TimeUnit timeUnit) {
notNull("timeUnit", timeUnit);
options.maxTime(maxTime, timeUnit);
return this;
}
Sets the readConcern
Params: - readConcern – the readConcern
Returns: this @mongodb.server.release 3.2
/**
* Sets the readConcern
*
* @param readConcern the readConcern
* @return this
* @mongodb.server.release 3.2
*/
public CountOptions readConcern(final ReadConcern readConcern) {
options.readConcern(readConcern);
return this;
}
Sets the readPreference
Params: - readPreference – the readPreference
Returns: this
/**
* Sets the readPreference
*
* @param readPreference the readPreference
* @return this
*/
public CountOptions readPreference(final ReadPreference readPreference) {
options.readPreference(readPreference);
return this;
}
Sets the number of documents to skip.
Params: - skip – the number of documents to skip
Returns: this @mongodb.driver.manual reference/method/cursor.skip/#cursor.skip Skip
/**
* Sets the number of documents to skip.
*
* @param skip the number of documents to skip
* @return this
* @mongodb.driver.manual reference/method/cursor.skip/#cursor.skip Skip
*/
public CountOptions skip(final int skip) {
options.skip(skip);
return this;
}
DBCollectionCountOptions getOptions() {
return options;
}
}