/* Copyright 2016-present 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. */ using System; using MongoDB.Driver.Core.Misc; namespace MongoDB.Driver.GridFS { /// /// Represents options for a GridFS Find operation. /// /// The type of the file identifier. public class GridFSFindOptions { // fields private int? _batchSize; private int? _limit; private TimeSpan? _maxTime; private bool? _noCursorTimeout; private int? _skip; private SortDefinition> _sort; // properties /// /// Gets or sets the batch size. /// /// /// The batch size. /// public int? BatchSize { get { return _batchSize; } set { _batchSize = Ensure.IsNullOrGreaterThanZero(value, nameof(value)); } } /// /// Gets or sets the maximum number of documents to return. /// /// /// The maximum number of documents to return. /// public int? Limit { get { return _limit; } set { _limit = value; } } /// /// Gets or sets the maximum time the server should spend on the Find. /// /// /// The maximum time the server should spend on the Find. /// public TimeSpan? MaxTime { get { return _maxTime; } set { _maxTime = Ensure.IsNullOrInfiniteOrGreaterThanOrEqualToZero(value, nameof(value)); } } /// /// Gets or sets whether the cursor should not timeout. /// /// /// Whether the cursor should not timeout. /// public bool? NoCursorTimeout { get { return _noCursorTimeout; } set { _noCursorTimeout = value; } } /// /// Gets or sets the number of documents to skip. /// /// /// The number of documents to skip. /// public int? Skip { get { return _skip; } set { _skip = Ensure.IsNullOrGreaterThanOrEqualToZero(value, nameof(value)); } } /// /// Gets or sets the sort order. /// /// /// The sort order. /// public SortDefinition> Sort { get { return _sort; } set { _sort = value; } } } }