Interface TypedConfigGetter

All Known Implementing Classes:
DefaultTypedConfigGetter

public interface TypedConfigGetter
Something that knows how to convert plain strings from a git Config to typed values.
Since:
4.9
  • Method Details

    • getBoolean

      boolean getBoolean(Config config, String section, String subsection, String name, boolean defaultValue)
      Get a boolean value from a git Config.
      Parameters:
      config - to get the value from
      section - section the key is grouped within.
      subsection - subsection name, such a remote or branch name.
      name - name of the key to get.
      defaultValue - default value to return if no value was present.
      Returns:
      true if any value or defaultValue is true, false for missing or explicit false
    • getEnum

      <T extends Enum<?>> T getEnum(Config config, T[] all, String section, String subsection, String name, T defaultValue)
      Parse an enumeration from a git Config.
      Parameters:
      config - to get the value from
      all - all possible values in the enumeration which should be recognized. Typically EnumType.values().
      section - section the key is grouped within.
      subsection - subsection name, such a remote or branch name.
      name - name of the key to get.
      defaultValue - default value to return if no value was present.
      Returns:
      the selected enumeration value, or defaultValue.
    • getInt

      int getInt(Config config, String section, String subsection, String name, int defaultValue)
      Obtain an integer value from a git Config.
      Parameters:
      config - to get the value from
      section - section the key is grouped within.
      subsection - subsection name, such a remote or branch name.
      name - name of the key to get.
      defaultValue - default value to return if no value was present.
      Returns:
      an integer value from the configuration, or defaultValue.
    • getLong

      long getLong(Config config, String section, String subsection, String name, long defaultValue)
      Obtain a long value from a git Config.
      Parameters:
      config - to get the value from
      section - section the key is grouped within.
      subsection - subsection name, such a remote or branch name.
      name - name of the key to get.
      defaultValue - default value to return if no value was present.
      Returns:
      a long value from the configuration, or defaultValue.
    • getTimeUnit

      long getTimeUnit(Config config, String section, String subsection, String name, long defaultValue, TimeUnit wantUnit)
      Parse a numerical time unit, such as "1 minute", from a git Config.
      Parameters:
      config - to get the value from
      section - section the key is in.
      subsection - subsection the key is in, or null if not in a subsection.
      name - the key name.
      defaultValue - default value to return if no value was present.
      wantUnit - the units of defaultValue and the return value, as well as the units to assume if the value does not contain an indication of the units.
      Returns:
      the value, or defaultValue if not set, expressed in units.
    • getPath

      default Path getPath(Config config, String section, String subsection, String name, @NonNull FS fs, File resolveAgainst, Path defaultValue)
      Parse a string value from a git Config and treat it as a file path, replacing a ~/ prefix by the user's home directory.

      Note: this may throw InvalidPathException if the string is not a valid path.

      Parameters:
      config - to get the path from.
      section - section the key is in.
      subsection - subsection the key is in, or null if not in a subsection.
      name - the key name.
      fs - to use to convert the string into a path.
      resolveAgainst - directory to resolve the path against if it is a relative path.
      defaultValue - to return if no value was present
      Returns:
      the Path, or defaultValue if not set
      Since:
      5.10
    • getRefSpecs

      @NonNull List<RefSpec> getRefSpecs(Config config, String section, String subsection, String name)
      Parse a list of RefSpecs from a git Config.
      Parameters:
      config - to get the list from
      section - section the key is in.
      subsection - subsection the key is in, or null if not in a subsection.
      name - the key name.
      Returns:
      a possibly empty list of RefSpecs