org.eclipse.jgit.lib
Class Config

java.lang.Object
  extended by org.eclipse.jgit.lib.Config
Direct Known Subclasses:
BlobBasedConfig, StoredConfig

public class Config
extends Object

Git style .config, .gitconfig, .gitmodules file.


Nested Class Summary
static interface Config.SectionParser<T>
          Parses a section of the configuration into an application model object.
 
Constructor Summary
Config()
          Create a configuration with no default fallback.
Config(Config defaultConfig)
          Create an empty configuration with a fallback for missing keys.
 
Method Summary
 ListenerHandle addChangeListener(ConfigChangedListener listener)
          Adds a listener to be notified about changes.
protected  void clear()
          Clear the configuration file
protected  void fireConfigChangedEvent()
          Notifies the listeners
 void fromText(String text)
          Clear this configuration and reset to the contents of the parsed string.
<T> T
get(Config.SectionParser<T> parser)
          Obtain a handle to a parsed set of configuration values.
 boolean getBoolean(String section, String name, boolean defaultValue)
          Get a boolean value from the git config
 boolean getBoolean(String section, String subsection, String name, boolean defaultValue)
          Get a boolean value from the git config
<T extends Enum<?>>
T
getEnum(String section, String subsection, String name, T defaultValue)
          Parse an enumeration from the configuration.
<T extends Enum<?>>
T
getEnum(T[] all, String section, String subsection, String name, T defaultValue)
          Parse an enumeration from the configuration.
 int getInt(String section, String name, int defaultValue)
          Obtain an integer value from the configuration.
 int getInt(String section, String subsection, String name, int defaultValue)
          Obtain an integer value from the configuration.
 long getLong(String section, String name, long defaultValue)
          Obtain an integer value from the configuration.
 long getLong(String section, String subsection, String name, long defaultValue)
          Obtain an integer value from the configuration.
 Set<String> getNames(String section)
           
 Set<String> getNames(String section, String subsection)
           
 Set<String> getSections()
           
 String getString(String section, String subsection, String name)
          Get string value
 String[] getStringList(String section, String subsection, String name)
          Get a list of string values
 Set<String> getSubsections(String section)
           
protected  boolean notifyUponTransientChanges()
          Determine whether to issue change events for transient changes.
 void setBoolean(String section, String subsection, String name, boolean value)
          Add or modify a configuration value.
<T extends Enum<?>>
void
setEnum(String section, String subsection, String name, T value)
          Add or modify a configuration value.
 void setInt(String section, String subsection, String name, int value)
          Add or modify a configuration value.
 void setLong(String section, String subsection, String name, long value)
          Add or modify a configuration value.
 void setString(String section, String subsection, String name, String value)
          Add or modify a configuration value.
 void setStringList(String section, String subsection, String name, List<String> values)
          Set a configuration value.
 String toText()
           
 void uncache(Config.SectionParser<?> parser)
          Remove a cached configuration object.
 void unset(String section, String subsection, String name)
          Remove a configuration value.
 void unsetSection(String section, String subsection)
          Remove all configuration values under a single section.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Config

public Config()
Create a configuration with no default fallback.


Config

public Config(Config defaultConfig)
Create an empty configuration with a fallback for missing keys.

Parameters:
defaultConfig - the base configuration to be consulted when a key is missing from this configuration instance.
Method Detail

getInt

public int getInt(String section,
                  String name,
                  int defaultValue)
Obtain an integer value from the configuration.

Parameters:
section - section the key is grouped within.
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.

getInt

public int getInt(String section,
                  String subsection,
                  String name,
                  int defaultValue)
Obtain an integer value from the configuration.

Parameters:
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

public long getLong(String section,
                    String name,
                    long defaultValue)
Obtain an integer value from the configuration.

Parameters:
section - section the key is grouped within.
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

public long getLong(String section,
                    String subsection,
                    String name,
                    long defaultValue)
Obtain an integer value from the configuration.

Parameters:
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.

getBoolean

public boolean getBoolean(String section,
                          String name,
                          boolean defaultValue)
Get a boolean value from the git config

Parameters:
section - section the key is grouped within.
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

getBoolean

public boolean getBoolean(String section,
                          String subsection,
                          String name,
                          boolean defaultValue)
Get a boolean value from the git config

Parameters:
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(String section,
                                     String subsection,
                                     String name,
                                     T defaultValue)
Parse an enumeration from the configuration.

Type Parameters:
T - type of the enumeration object.
Parameters:
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.

getEnum

public <T extends Enum<?>> T getEnum(T[] all,
                                     String section,
                                     String subsection,
                                     String name,
                                     T defaultValue)
Parse an enumeration from the configuration.

Type Parameters:
T - type of the enumeration object.
Parameters:
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.

getString

public String getString(String section,
                        String subsection,
                        String name)
Get string value

Parameters:
section - the section
subsection - the subsection for the value
name - the key name
Returns:
a String value from git config.

getStringList

public String[] getStringList(String section,
                              String subsection,
                              String name)
Get a list of string values

If this instance was created with a base, the base's values are returned first (if any).

Parameters:
section - the section
subsection - the subsection for the value
name - the key name
Returns:
array of zero or more values from the configuration.

getSubsections

public Set<String> getSubsections(String section)
Parameters:
section - section to search for.
Returns:
set of all subsections of specified section within this configuration and its base configuration; may be empty if no subsection exists. The set's iterator returns sections in the order they are declared by the configuration starting from this instance and progressing through the base.

getSections

public Set<String> getSections()
Returns:
the sections defined in this Config. The set's iterator returns sections in the order they are declared by the configuration starting from this instance and progressing through the base.

getNames

public Set<String> getNames(String section)
Parameters:
section - the section
Returns:
the list of names defined for this section

getNames

public Set<String> getNames(String section,
                            String subsection)
Parameters:
section - the section
subsection - the subsection
Returns:
the list of names defined for this subsection

get

public <T> T get(Config.SectionParser<T> parser)
Obtain a handle to a parsed set of configuration values.

Type Parameters:
T - type of configuration model to return.
Parameters:
parser - parser which can create the model if it is not already available in this configuration file. The parser is also used as the key into a cache and must obey the hashCode and equals contract in order to reuse a parsed model.
Returns:
the parsed object instance, which is cached inside this config.

uncache

public void uncache(Config.SectionParser<?> parser)
Remove a cached configuration object.

If the associated configuration object has not yet been cached, this method has no effect.

Parameters:
parser - parser used to obtain the configuration object.
See Also:
get(SectionParser)

addChangeListener

public ListenerHandle addChangeListener(ConfigChangedListener listener)
Adds a listener to be notified about changes.

Clients are supposed to remove the listeners after they are done with them using the ListenerHandle.remove() method

Parameters:
listener - the listener
Returns:
the handle to the registered listener

notifyUponTransientChanges

protected boolean notifyUponTransientChanges()
Determine whether to issue change events for transient changes.

If true is returned (which is the default behavior), fireConfigChangedEvent() will be called upon each change.

Subclasses that override this to return false are responsible for issuing fireConfigChangedEvent() calls themselves.

Returns:

fireConfigChangedEvent

protected void fireConfigChangedEvent()
Notifies the listeners


setInt

public void setInt(String section,
                   String subsection,
                   String name,
                   int value)
Add or modify a configuration value. The parameters will result in a configuration entry like this.
 [section "subsection"]
         name = value
 

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
value - parameter value

setLong

public void setLong(String section,
                    String subsection,
                    String name,
                    long value)
Add or modify a configuration value. The parameters will result in a configuration entry like this.
 [section "subsection"]
         name = value
 

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
value - parameter value

setBoolean

public void setBoolean(String section,
                       String subsection,
                       String name,
                       boolean value)
Add or modify a configuration value. The parameters will result in a configuration entry like this.
 [section "subsection"]
         name = value
 

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
value - parameter value

setEnum

public <T extends Enum<?>> void setEnum(String section,
                                        String subsection,
                                        String name,
                                        T value)
Add or modify a configuration value. The parameters will result in a configuration entry like this.
 [section "subsection"]
         name = value
 

Type Parameters:
T - type of the enumeration object.
Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
value - parameter value

setString

public void setString(String section,
                      String subsection,
                      String name,
                      String value)
Add or modify a configuration value. The parameters will result in a configuration entry like this.
 [section "subsection"]
         name = value
 

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
value - parameter value, e.g. "true"

unset

public void unset(String section,
                  String subsection,
                  String name)
Remove a configuration value.

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"

unsetSection

public void unsetSection(String section,
                         String subsection)
Remove all configuration values under a single section.

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name

setStringList

public void setStringList(String section,
                          String subsection,
                          String name,
                          List<String> values)
Set a configuration value.
 [section "subsection"]
         name = value
 

Parameters:
section - section name, e.g "branch"
subsection - optional subsection value, e.g. a branch name
name - parameter name, e.g. "filemode"
values - list of zero or more values for this key.

toText

public String toText()
Returns:
this configuration, formatted as a Git style text file.

fromText

public void fromText(String text)
              throws ConfigInvalidException
Clear this configuration and reset to the contents of the parsed string.

Parameters:
text - Git style text file listing configuration properties.
Throws:
ConfigInvalidException - the text supplied is not formatted correctly. No changes were made to this.

clear

protected void clear()
Clear the configuration file



Copyright © 2012. All Rights Reserved.