Class DefaultTypedConfigGetter

    • Constructor Detail

      • DefaultTypedConfigGetter

        public DefaultTypedConfigGetter()
    • Method Detail

      • getBoolean

        public boolean getBoolean​(Config config,
                                  String section,
                                  String subsection,
                                  String name,
                                  boolean defaultValue)
        Get a boolean value from a git Config.
        Specified by:
        getBoolean in interface TypedConfigGetter
        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

        public <T extends Enum<?>> T getEnum​(Config config,
                                             T[] all,
                                             String section,
                                             String subsection,
                                             String name,
                                             T defaultValue)
        Parse an enumeration from a git Config.
        Specified by:
        getEnum in interface TypedConfigGetter
        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

        public int getInt​(Config config,
                          String section,
                          String subsection,
                          String name,
                          int defaultValue)
        Obtain an integer value from a git Config.
        Specified by:
        getInt in interface TypedConfigGetter
        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

        public 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.
        Specified by:
        getIntInRange in interface TypedConfigGetter
        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.
      • getLong

        public long getLong​(Config config,
                            String section,
                            String subsection,
                            String name,
                            long defaultValue)
        Obtain a long value from a git Config.
        Specified by:
        getLong in interface TypedConfigGetter
        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

        public 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.
        Specified by:
        getTimeUnit in interface TypedConfigGetter
        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.