Package org.eclipse.jgit.storage.file
Class FileBasedConfig
- java.lang.Object
-
- org.eclipse.jgit.lib.Config
-
- org.eclipse.jgit.lib.StoredConfig
-
- org.eclipse.jgit.storage.file.FileBasedConfig
-
public class FileBasedConfig extends StoredConfig
The configuration file that is stored in the file of the file system.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jgit.lib.Config
Config.ConfigEnum, Config.SectionParser<T>
-
-
Constructor Summary
Constructors Constructor Description FileBasedConfig(File cfgLocation, FS fs)Create a configuration with no default fallback.FileBasedConfig(Config base, File cfgLocation, FS fs)The constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear the configuration fileFilegetFile()booleanisOutdated()voidload()Load the configuration as a Git text style configuration file.protected booleannotifyUponTransientChanges()Determine whether to issue change events for transient changes.voidsave()Save the configuration as a Git text style configuration file.StringtoString()-
Methods inherited from class org.eclipse.jgit.lib.Config
addChangeListener, fireConfigChangedEvent, fromText, get, getBoolean, getBoolean, getEnum, getEnum, getInt, getInt, getLong, getLong, getNames, getNames, getNames, getNames, getSections, getString, getStringList, getSubsections, setBoolean, setEnum, setInt, setLong, setString, setStringList, toText, uncache, unset, unsetSection
-
-
-
-
Constructor Detail
-
FileBasedConfig
public FileBasedConfig(File cfgLocation, FS fs)
Create a configuration with no default fallback.- Parameters:
cfgLocation- the location of the configuration file on the file systemfs- the file system abstraction which will be necessary to perform certain file system operations.
-
FileBasedConfig
public FileBasedConfig(Config base, File cfgLocation, FS fs)
The constructor- Parameters:
base- the base configuration filecfgLocation- the location of the configuration file on the file systemfs- the file system abstraction which will be necessary to perform certain file system operations.
-
-
Method Detail
-
notifyUponTransientChanges
protected boolean notifyUponTransientChanges()
Description copied from class:ConfigDetermine whether to issue change events for transient changes.If
trueis returned (which is the default behavior),Config.fireConfigChangedEvent()will be called upon each change.Subclasses that override this to return
falseare responsible for issuingConfig.fireConfigChangedEvent()calls themselves.- Overrides:
notifyUponTransientChangesin classConfig- Returns:
-
getFile
public final File getFile()
- Returns:
- location of the configuration file on disk
-
load
public void load() throws IOException, ConfigInvalidExceptionLoad the configuration as a Git text style configuration file.If the file does not exist, this configuration is cleared, and thus behaves the same as though the file exists, but is empty.
- Specified by:
loadin classStoredConfig- Throws:
IOException- the file could not be read (but does exist).ConfigInvalidException- the file is not a properly formatted configuration file.
-
save
public void save() throws IOExceptionSave the configuration as a Git text style configuration file.Warning: Although this method uses the traditional Git file locking approach to protect against concurrent writes of the configuration file, it does not ensure that the file has not been modified since the last read, which means updates performed by other objects accessing the same backing file may be lost.
- Specified by:
savein classStoredConfig- Throws:
IOException- the file could not be written.
-
clear
public void clear()
Description copied from class:ConfigClear the configuration file- Overrides:
clearin classStoredConfig
-
isOutdated
public boolean isOutdated()
- Returns:
- returns true if the currently loaded configuration file is older than the file on disk
-
-