WriteConfig.java

  1. /*
  2.  * Copyright (C) 2010, Google Inc. and others
  3.  *
  4.  * This program and the accompanying materials are made available under the
  5.  * terms of the Eclipse Distribution License v. 1.0 which is available at
  6.  * https://www.eclipse.org/org/documents/edl-v10.php.
  7.  *
  8.  * SPDX-License-Identifier: BSD-3-Clause
  9.  */

  10. package org.eclipse.jgit.internal.storage.file;

  11. import org.eclipse.jgit.lib.Config;
  12. import org.eclipse.jgit.lib.Config.SectionParser;
  13. import org.eclipse.jgit.lib.CoreConfig;

  14. class WriteConfig {
  15.     /** Key for {@link Config#get(SectionParser)}. */
  16.     static final Config.SectionParser<WriteConfig> KEY = WriteConfig::new;

  17.     private final int compression;

  18.     private final boolean fsyncObjectFiles;

  19.     private final boolean fsyncRefFiles;

  20.     private WriteConfig(Config rc) {
  21.         compression = rc.get(CoreConfig.KEY).getCompression();
  22.         fsyncObjectFiles = rc.getBoolean("core", "fsyncobjectfiles", false); //$NON-NLS-1$ //$NON-NLS-2$
  23.         fsyncRefFiles = rc.getBoolean("core", "fsyncreffiles", false); //$NON-NLS-1$ //$NON-NLS-2$
  24.     }

  25.     int getCompression() {
  26.         return compression;
  27.     }

  28.     boolean getFSyncObjectFiles() {
  29.         return fsyncObjectFiles;
  30.     }

  31.     boolean getFSyncRefFiles() {
  32.         return fsyncRefFiles;
  33.     }
  34. }