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
    • Field Detail

      • UNSET_INT

        static final int UNSET_INT
        Use Integer#MIN_VALUE as unset int value
        Since:
        6.1
        See Also:
        Constant Field Values
    • Method Detail

      • 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.
      • getIntInRange

        int getIntInRange​(Config config,
                          String section,
                          String subsection,
                          String name,
                          int minValue,
                          int maxValue,
                          int defaultValue)
        Obtain an integer value from a git Config which must be in given range.
        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.
        minValue - minimal value
        maxValue - maximum value
        defaultValue - default value to return if no value was present. Use #UNSET_INT to set the default to unset.
        Returns:
        an integer value from the configuration, or defaultValue. #UNSET_INT if unset.
        Since:
        6.1
      • 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