diff options
Diffstat (limited to 'nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java')
-rw-r--r-- | nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java b/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java new file mode 100644 index 000000000..212a57cc0 --- /dev/null +++ b/nouveau/src/main/java/org/apache/couchdb/nouveau/NouveauApplicationConfiguration.java @@ -0,0 +1,74 @@ +// +// 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.apache.couchdb.nouveau; + +import java.nio.file.Path; + +import com.fasterxml.jackson.annotation.JsonProperty; + +import io.dropwizard.core.Configuration; +import jakarta.validation.constraints.Min; +import jakarta.validation.constraints.NotNull; + +public class NouveauApplicationConfiguration extends Configuration { + + @Min(10) + private int maxIndexesOpen = 10; + + @Min(10) + private int commitIntervalSeconds = 10; + + @Min(30) + private int idleSeconds = 30; + + @NotNull + private Path rootDir = null; + + @JsonProperty + public void setMaxIndexesOpen(int maxIndexesOpen) { + this.maxIndexesOpen = maxIndexesOpen; + } + + public int getMaxIndexesOpen() { + return maxIndexesOpen; + } + + @JsonProperty + public void setCommitIntervalSeconds(int commitIntervalSeconds) { + this.commitIntervalSeconds = commitIntervalSeconds; + } + + public int getCommitIntervalSeconds() { + return commitIntervalSeconds; + } + + @JsonProperty + public void setIdleSeconds(int idleSeconds) { + this.idleSeconds = idleSeconds; + } + + public int getIdleSeconds() { + return idleSeconds; + } + + @JsonProperty + public void setRootDir(Path rootDir) { + this.rootDir = rootDir; + } + + public Path getRootDir() { + return rootDir; + } + +} |