org.stellarium.data
Class ResourceLocatorUtil

java.lang.Object
  extended by org.stellarium.data.ResourceLocatorUtil

public class ResourceLocatorUtil
extends java.lang.Object

File to help the retrieval of all data files for Stellarium4Java.
This first version is based on file, but should be able to support resource loading from classpath in the future.

Version:
Java
Author:
Fred Simon

Field Summary
private  java.io.File configDir
           
private  java.io.File configFile
           
static java.lang.String CYGWIN_HOME
           
private  java.io.File dataDir
           
private  java.io.File defaultConfigDir
           
private static ResourceLocatorUtil instance
           
static java.lang.String OS_NAME
           
static java.lang.String OS_VERSION
           
private  java.io.File scriptsDir
           
private  java.io.File skyCulturesDir
           
private  java.io.File stellariumHome
           
private  java.io.File texturesDir
           
private  java.io.File translatorDir
           
 
Constructor Summary
ResourceLocatorUtil()
           
 
Method Summary
 void copyDefaultConfig()
           
static void copyTextFile(java.io.File source, java.io.File dest)
          Small copy utility method in order to avoid platform specifics
 java.io.File getConfigDir()
          A dynamic user folder where all configuration files, recorded scripts or audio and so on will be placed.
 java.io.File getConfigFile()
           
 java.lang.String getDataDirPath()
          Deprecated. use File or resources
 java.io.File getDataFile(java.lang.String childFile)
           
 java.io.InputStream getDataResource(java.lang.String resourceName)
           
 java.io.File getDefaultConfigDir()
           
static ResourceLocatorUtil getInstance()
           
static java.lang.String getParamValue(java.util.List<java.lang.String> commandLineArgs, java.lang.String paramName)
           
static java.lang.String getParamValue(java.util.List<java.lang.String> commandLineArgs, java.lang.String paramName, java.lang.String defaultValue)
           
 java.io.File getScriptsDir()
           
 java.io.File getSkyCulturesDir()
           
 java.io.File getStellariumHome()
          This folder should not be used directly to insert resources, but is there for developers convenience.
static java.io.File getSubDir(java.util.List<java.lang.String> commandLineArgs, java.io.File parentFolder, java.lang.String subDirName, java.lang.String containFileName)
           
 java.io.InputStream getTextureResource(java.lang.String textureName)
           
 java.net.URL getTextureURL(java.lang.String textureName)
           
 java.io.InputStream getTranslatorResource(java.lang.String resourceName)
           
 void init(java.util.List<java.lang.String> commandLineArgs)
          Will initialize all root dir or URL resource path
static boolean isCygwin()
           
static boolean isMacOS()
           
static boolean isMacOSX()
           
static boolean isSgi()
           
static boolean isWindows()
           
private static java.io.InputStream loadFromFile(java.io.File dir, java.lang.String resourceName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instance

private static final ResourceLocatorUtil instance

OS_NAME

public static final java.lang.String OS_NAME

OS_VERSION

public static final java.lang.String OS_VERSION

CYGWIN_HOME

public static final java.lang.String CYGWIN_HOME

stellariumHome

private java.io.File stellariumHome

defaultConfigDir

private java.io.File defaultConfigDir

configDir

private java.io.File configDir

configFile

private java.io.File configFile

translatorDir

private java.io.File translatorDir

texturesDir

private java.io.File texturesDir

dataDir

private java.io.File dataDir

scriptsDir

private java.io.File scriptsDir

skyCulturesDir

private java.io.File skyCulturesDir
Constructor Detail

ResourceLocatorUtil

public ResourceLocatorUtil()
Method Detail

getInstance

public static ResourceLocatorUtil getInstance()

init

public void init(java.util.List<java.lang.String> commandLineArgs)
Will initialize all root dir or URL resource path

Parameters:
commandLineArgs - a list of command line args, and will remove all used arguments

copyDefaultConfig

public void copyDefaultConfig()

getSubDir

public static java.io.File getSubDir(java.util.List<java.lang.String> commandLineArgs,
                                     java.io.File parentFolder,
                                     java.lang.String subDirName,
                                     java.lang.String containFileName)

getParamValue

public static java.lang.String getParamValue(java.util.List<java.lang.String> commandLineArgs,
                                             java.lang.String paramName)

getParamValue

public static java.lang.String getParamValue(java.util.List<java.lang.String> commandLineArgs,
                                             java.lang.String paramName,
                                             java.lang.String defaultValue)

getStellariumHome

public java.io.File getStellariumHome()
This folder should not be used directly to insert resources, but is there for developers convenience.

Returns:
The home directory where stellarium was installed

getDefaultConfigDir

public java.io.File getDefaultConfigDir()

getConfigDir

public java.io.File getConfigDir()
A dynamic user folder where all configuration files, recorded scripts or audio and so on will be placed.

Returns:
the dynamic user configuration directory

getConfigFile

public java.io.File getConfigFile()

getScriptsDir

public java.io.File getScriptsDir()

getSkyCulturesDir

public java.io.File getSkyCulturesDir()

getDataDirPath

public java.lang.String getDataDirPath()
Deprecated. use File or resources

Old data dir format.

Returns:
the data dir path terminated by slash

getDataResource

public java.io.InputStream getDataResource(java.lang.String resourceName)

getTranslatorResource

public java.io.InputStream getTranslatorResource(java.lang.String resourceName)

getTextureResource

public java.io.InputStream getTextureResource(java.lang.String textureName)

getTextureURL

public java.net.URL getTextureURL(java.lang.String textureName)

loadFromFile

private static java.io.InputStream loadFromFile(java.io.File dir,
                                                java.lang.String resourceName)

copyTextFile

public static void copyTextFile(java.io.File source,
                                java.io.File dest)
Small copy utility method in order to avoid platform specifics

Parameters:
source - The source file path
dest - The destination file path

isMacOSX

public static boolean isMacOSX()

isWindows

public static boolean isWindows()

isMacOS

public static boolean isMacOS()

isCygwin

public static boolean isCygwin()

isSgi

public static boolean isSgi()

getDataFile

public java.io.File getDataFile(java.lang.String childFile)