net.ctdp.rfdynhud.gamedata
Class GameFileSystem

java.lang.Object
  extended by net.ctdp.rfdynhud.gamedata.GameFileSystem

public abstract class GameFileSystem
extends java.lang.Object

Model of the game's (e.g. rFactor) filesystem

Author:
Marvin Froehlich (CTDP)

Field Summary
static java.lang.String BORDERS_FOLDER_NAME
           
static java.lang.String IMAGES_FOLDER_NAME
           
static java.lang.String SUB_PLUGINS_FOLDER_NAME
           
static java.lang.String WIDGET_SETS_FOLDER_NAME
           
 
Constructor Summary
protected GameFileSystem(PluginINI pluginINI)
           
 
Method Summary
protected  java.io.File findBordersFolder(PluginINI pluginINI, java.io.File pluginFolder, java.io.File configFolder)
          Called once at instantiation time to initialize the plugin's border folder.
protected  java.io.File findCacheFolder(PluginINI pluginINI, java.io.File pluginFolder)
          Called once at instantiation time to initialize the plugin's cache folder.
protected  java.io.File findConfigFolder(PluginINI pluginINI, java.io.File pluginFolder)
          Called once at instantiation time to initialize the plugin's config folder.
protected  java.io.File findEditorFolder(PluginINI pluginINI, java.io.File pluginFolder)
          Called once at instantiation time to initialize the plugin's editor folder.
protected abstract  java.io.File findGameFolder(PluginINI ini, java.io.File pluginFolder)
          Called once at instantiation time to initialize the game's root folder.
protected abstract  java.io.File findGameScreenshotsFolder(PluginINI pluginINI, java.io.File gameFolder)
          Called once at instantiation time to initialize the game's screenshots folder.
protected  java.io.File findImagesFolder(PluginINI pluginINI, java.io.File pluginFolder, java.io.File configFolder)
          Called once at instantiation time to initialize the plugin's images folder.
protected abstract  java.io.File findLocationsFolder(PluginINI ini, java.io.File gameFolder)
          Called once at instantiation time to initialize the game's "Locations" folder.
protected  java.io.File findSubPluginsFolder(PluginINI pluginINI, java.io.File pluginFolder)
          Called once at instantiation time to initialize the sub plugins' folder.
protected  java.io.File findWidgetSetsFolder(PluginINI pluginINI, java.io.File pluginFolder)
          Called once at instantiation time to initialize the widget sets' folder.
 java.io.File getBordersFolder()
          Gets the plugin's borders folder.
 java.lang.String getBordersPath()
          Gets the plugin's borders folder.
 java.io.File getCacheFolder()
          Gets the plugin's cache folder.
 java.lang.String getCachePath()
          Gets the plugin's cache folder.
 java.io.File getConfigFolder()
          Gets the plugin's config folder.
 java.lang.String getConfigPath()
          Gets the plugin's config folder.
 java.io.File getEditorFolder()
          Gets the plugin's editor folder.
 java.lang.String getEditorPath()
          Gets the plugin's editor folder.
 java.io.File getGameFolder()
          Gets the game's root folder.
 java.lang.String getGamePath()
          Gets the game's root folder.
 java.io.File getGameScreenshotsFolder()
          Gets the game's screenshots folder.
 java.io.File getImagesFolder()
          Gets the plugin's images folder.
 java.lang.String getImagesPath()
          Gets the plugin's images folder.
 java.io.File getLocationsFolder()
          Gets the game's "Locations" folder.
 java.lang.String getLocationsPath()
          Gets the game's "Locations" folder.
abstract  java.io.File getPathFromGameConfigINI(java.lang.String setting, java.lang.String fallback)
          Gets an absolute path from the game's config ini file.
 java.io.File getPluginFolder()
          Gets the plugin's main folder.
 PluginINI getPluginINI()
          Gets an abstraction of the plugin's main ini file.
 java.lang.String getPluginPath()
          Gets the plugin's main folder.
 java.io.File getSubPluginsFolder()
          Gets sub plugins' folder.
 java.lang.String getSubPluginsPath()
          Gets sub plugins' folder.
 java.io.File getWidgetSetsFolder()
          Gets widget sets' folder.
 java.lang.String getWidgetSetsPath()
          Gets widget sets' folder.
abstract  java.io.File locateSetupFile(LiveGameData gameData)
          Locates the current vehicle setup file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WIDGET_SETS_FOLDER_NAME

public static final java.lang.String WIDGET_SETS_FOLDER_NAME
See Also:
Constant Field Values

SUB_PLUGINS_FOLDER_NAME

public static final java.lang.String SUB_PLUGINS_FOLDER_NAME
See Also:
Constant Field Values

BORDERS_FOLDER_NAME

public static final java.lang.String BORDERS_FOLDER_NAME
See Also:
Constant Field Values

IMAGES_FOLDER_NAME

public static final java.lang.String IMAGES_FOLDER_NAME
See Also:
Constant Field Values
Constructor Detail

GameFileSystem

protected GameFileSystem(PluginINI pluginINI)
Method Detail

findGameFolder

protected abstract java.io.File findGameFolder(PluginINI ini,
                                               java.io.File pluginFolder)
Called once at instantiation time to initialize the game's root folder.

Parameters:
ini - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the game's root folder.

findLocationsFolder

protected abstract java.io.File findLocationsFolder(PluginINI ini,
                                                    java.io.File gameFolder)
Called once at instantiation time to initialize the game's "Locations" folder.

Parameters:
ini - the plugin's main config file
gameFolder - the game's root folder
Returns:
the game's "Locations" folder.

findConfigFolder

protected java.io.File findConfigFolder(PluginINI pluginINI,
                                        java.io.File pluginFolder)
Called once at instantiation time to initialize the plugin's config folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the plugin's config folder.

findWidgetSetsFolder

protected final java.io.File findWidgetSetsFolder(PluginINI pluginINI,
                                                  java.io.File pluginFolder)
Called once at instantiation time to initialize the widget sets' folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the widget sets' folder.

findSubPluginsFolder

protected final java.io.File findSubPluginsFolder(PluginINI pluginINI,
                                                  java.io.File pluginFolder)
Called once at instantiation time to initialize the sub plugins' folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the sub plugins' folder.

findCacheFolder

protected java.io.File findCacheFolder(PluginINI pluginINI,
                                       java.io.File pluginFolder)
Called once at instantiation time to initialize the plugin's cache folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the plugin's cache folder.

findBordersFolder

protected java.io.File findBordersFolder(PluginINI pluginINI,
                                         java.io.File pluginFolder,
                                         java.io.File configFolder)
Called once at instantiation time to initialize the plugin's border folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
configFolder - the plugin's config folder
Returns:
the plugin's border folder.

findImagesFolder

protected java.io.File findImagesFolder(PluginINI pluginINI,
                                        java.io.File pluginFolder,
                                        java.io.File configFolder)
Called once at instantiation time to initialize the plugin's images folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
configFolder - the plugin's config folder
Returns:
the plugin's image's folder.

findEditorFolder

protected java.io.File findEditorFolder(PluginINI pluginINI,
                                        java.io.File pluginFolder)
Called once at instantiation time to initialize the plugin's editor folder.

Parameters:
pluginINI - the plugin's main config file
pluginFolder - the plugin's main folder
Returns:
the plugin's editor folder.

getPathFromGameConfigINI

public abstract java.io.File getPathFromGameConfigINI(java.lang.String setting,
                                                      java.lang.String fallback)
Gets an absolute path from the game's config ini file.

Parameters:
setting - the setting to query
fallback - the fallback value, if the setting couldn't be read
Returns:
the path as a File object.

findGameScreenshotsFolder

protected abstract java.io.File findGameScreenshotsFolder(PluginINI pluginINI,
                                                          java.io.File gameFolder)
Called once at instantiation time to initialize the game's screenshots folder.

Parameters:
pluginINI - the plugin's main config file
gameFolder - the game's root folder
Returns:
the game's screenshots folder.

getPluginFolder

public final java.io.File getPluginFolder()
Gets the plugin's main folder.

Returns:
the plugin's main folder.

getPluginPath

public final java.lang.String getPluginPath()
Gets the plugin's main folder.

Returns:
the plugin's main folder.

getPluginINI

public final PluginINI getPluginINI()
Gets an abstraction of the plugin's main ini file.

Returns:
an abstraction of the plugin's main ini file.

getGameFolder

public final java.io.File getGameFolder()
Gets the game's root folder.

Returns:
the game's root folder.

getGamePath

public final java.lang.String getGamePath()
Gets the game's root folder.

Returns:
the game's root folder.

getLocationsFolder

public final java.io.File getLocationsFolder()
Gets the game's "Locations" folder.

Returns:
the game's "Locations" folder.

getLocationsPath

public final java.lang.String getLocationsPath()
Gets the game's "Locations" folder.

Returns:
the game's "Locations" folder.

locateSetupFile

public abstract java.io.File locateSetupFile(LiveGameData gameData)
Locates the current vehicle setup file.

Parameters:
gameData - the live game data
Returns:
the setup file (where it should be, may not exist).

getConfigFolder

public final java.io.File getConfigFolder()
Gets the plugin's config folder.

Returns:
the plugin's config folder.

getConfigPath

public final java.lang.String getConfigPath()
Gets the plugin's config folder.

Returns:
the plugin's config folder.

getWidgetSetsFolder

public final java.io.File getWidgetSetsFolder()
Gets widget sets' folder.

Returns:
widget sets' folder.

getWidgetSetsPath

public final java.lang.String getWidgetSetsPath()
Gets widget sets' folder.

Returns:
widget sets' folder.

getSubPluginsFolder

public final java.io.File getSubPluginsFolder()
Gets sub plugins' folder.

Returns:
sub plugins' folder.

getSubPluginsPath

public final java.lang.String getSubPluginsPath()
Gets sub plugins' folder.

Returns:
sub plugins' folder.

getCacheFolder

public final java.io.File getCacheFolder()
Gets the plugin's cache folder.

Returns:
the plugin's cache folder.

getCachePath

public final java.lang.String getCachePath()
Gets the plugin's cache folder.

Returns:
the plugin's cache folder.

getBordersFolder

public final java.io.File getBordersFolder()
Gets the plugin's borders folder.

Returns:
the plugin's borders folder.

getBordersPath

public final java.lang.String getBordersPath()
Gets the plugin's borders folder.

Returns:
the plugin's borders folder.

getImagesFolder

public final java.io.File getImagesFolder()
Gets the plugin's images folder.

Returns:
the plugin's images folder.

getImagesPath

public final java.lang.String getImagesPath()
Gets the plugin's images folder.

Returns:
the plugin's images folder.

getEditorFolder

public final java.io.File getEditorFolder()
Gets the plugin's editor folder.

Returns:
the plugin's editor folder.

getEditorPath

public final java.lang.String getEditorPath()
Gets the plugin's editor folder.

Returns:
the plugin's editor folder.

getGameScreenshotsFolder

public final java.io.File getGameScreenshotsFolder()
Gets the game's screenshots folder.

Returns:
the game's screenshots folder.