Class Configuration
- java.lang.Object
-
- gov.nasa.worldwind.Configuration
-
public class Configuration extends java.lang.ObjectThis class manages the initial WorldWind configuration. It reads WorldWind configuration files and registers their contents. Configurations files contain the names of classes to create at run-time, the initial model definition, including the globe, elevation model and layers, and various control quantities such as cache sizes and data retrieval timeouts.The Configuration class is a singleton, but its instance is not exposed publicly. It is addressed only via static methods of the class. It is constructed upon first use of any of its static methods.
When the Configuration class is first instantiated it reads the XML document
config/worldwind.xmland registers all the information there. The information can subsequently be retrieved via the class' variousgetValuemethods. Many WorldWind start-up objects query this information to determine the classes to create. For example, the first WorldWind object created by an application is typically aWorldWindowGLCanvas. During construction that class causes WorldWind's internal classes to be constructed, using the names of those classes drawn from the Configuration singleton, this class.The default WorldWind configuration document is
config/worldwind.xml. This can be changed by setting the Java propertygov.nasa.worldwind.config.fileto a different file name or a valid URL prior to creating any WorldWind object or invoking any static methods of WorldWind classes, including the Configuration class. When an application specifies a different configuration location it typically does so in its main method prior to using WorldWind. If a file is specified its location must be on the classpath. (The contents of application and WorldWind jar files are typically on the classpath, in which case the configuration file may be in the jar file.)Additionally, an application may set another Java property,
gov.nasa.worldwind.app.config.document, to a file name or URL whose contents contain configuration values to override those of the primary configuration document. WorldWind overrides only those values in this application document, it leaves all others to the value specified in the primary document. Applications usually specify an override document in order to specify the initial layers in the model.See
config/worldwind.xmlfor documentation on setting configuration values.Configuration values can also be set programatically via
setValue(String, Object), but they are not retroactive so affect only Configuration queries made subsequent to setting the value.Note: Prior to September of 2009, configuration properties were read from the file
config/worldwind.properties. An alternate file could be specified via thegov.nasa.worldwind.config.fileJava property. These mechanisms remain available but are deprecated. WorldWind no longer contains aworldwind.propertiesfile. Ifworldwind.propertiesor its replacement as specified through the Java property exists at run-time and can be found via the classpath, configuration values specified by that mechanism are given precedence over values specified by the new mechanism.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_LOGGER_NAME
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.BooleangetBooleanValue(java.lang.String key)Return as a Boolean the value associated with a specified key.static java.lang.BooleangetBooleanValue(java.lang.String key, java.lang.Boolean defaultValue)Return as a Boolean the value associated with a specified key.static java.lang.StringgetCurrentUserAppDataDirectory()Returns the path to the current user's application data directory.static java.lang.StringgetCurrentWorkingDirectory()Returns the path to the application's current working directory.static java.lang.DoublegetDoubleValue(java.lang.String key)Return as an Double the value associated with a specified key.static java.lang.DoublegetDoubleValue(java.lang.String key, java.lang.Double defaultValue)Return as an Double the value associated with a specified key.static org.w3c.dom.ElementgetElement(java.lang.String xpathExpression)Returns a specified element of an XML configuration document.static java.lang.IntegergetIntegerValue(java.lang.String key)Return as an Integer the value associated with a specified key.static java.lang.IntegergetIntegerValue(java.lang.String key, java.lang.Integer defaultValue)Return as an Integer the value associated with a specified key.static floatgetJavaVersion()Returns the version of the Java virtual machine.static java.lang.LonggetLongValue(java.lang.String key)Return as an Long the value associated with a specified key.static java.lang.LonggetLongValue(java.lang.String key, java.lang.Long defaultValue)Return as an Long the value associated with a specified key.static com.jogamp.opengl.GLProfilegetMaxCompatibleGLProfile()Returns the highest OpenGL profile available on the current graphics device that is compatible with WorldWind.static com.jogamp.opengl.GLCapabilitiesgetRequiredGLCapabilities()Returns aGLCapabilitiesidentifying graphics features required by WorldWind.static java.lang.StringgetStringValue(java.lang.String key)Return as a string the value associated with a specified key.static java.lang.StringgetStringValue(java.lang.String key, java.lang.String defaultValue)Return as a string the value associated with a specified key.static java.lang.StringgetSystemTempDirectory()Returns the path to the operating system's temp directory.static java.lang.StringgetUserHomeDirectory()Returns the path to the application user's home directory.static booleanhasKey(java.lang.String key)Determines whether a key exists in the configuration.static voidinsertConfigurationDocument(java.lang.String fileName)static booleanisLinuxOS()Determines whether the operating system is Linux operating system.static booleanisMacOS()Determines whether the operating system is a Mac operating system.static booleanisSolarisOS()Determines whether the operating system is Solaris operating system.static booleanisUnixOS()Determines whether the operating system is Unix operating system.static booleanisWindows7OS()Determines whether the operating system is Windows 7 operating system.static booleanisWindowsOS()Determines whether the operating system is Windows operating system.static booleanisWindowsVistaOS()Determines whether the operating system is Windows Vista operating system.static booleanisWindowsXPOS()Determines whether the operating system is Windows XP operating system.static voidremoveKey(java.lang.String key)Removes a key and its value from the configuration if the configuration contains the key.static voidsetValue(java.lang.String key, java.lang.Object value)Adds a key and value to the configuration, or changes the value associated with the key if the key is already in the configuration.
-
-
-
Field Detail
-
DEFAULT_LOGGER_NAME
public static final java.lang.String DEFAULT_LOGGER_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
insertConfigurationDocument
public static void insertConfigurationDocument(java.lang.String fileName)
-
getStringValue
public static java.lang.String getStringValue(java.lang.String key, java.lang.String defaultValue)Return as a string the value associated with a specified key.- Parameters:
key- the key for the desired value.defaultValue- the value to return if the key does not exist.- Returns:
- the value associated with the key, or the specified default value if the key does not exist.
-
getStringValue
public static java.lang.String getStringValue(java.lang.String key)
Return as a string the value associated with a specified key.- Parameters:
key- the key for the desired value.- Returns:
- the value associated with the key, or null if the key does not exist.
-
getIntegerValue
public static java.lang.Integer getIntegerValue(java.lang.String key, java.lang.Integer defaultValue)Return as an Integer the value associated with a specified key.- Parameters:
key- the key for the desired value.defaultValue- the value to return if the key does not exist.- Returns:
- the value associated with the key, or the specified default value if the key does not exist or is not an Integer or string representation of an Integer.
-
getIntegerValue
public static java.lang.Integer getIntegerValue(java.lang.String key)
Return as an Integer the value associated with a specified key.- Parameters:
key- the key for the desired value.- Returns:
- the value associated with the key, or null if the key does not exist or is not an Integer or string representation of an Integer.
-
getLongValue
public static java.lang.Long getLongValue(java.lang.String key, java.lang.Long defaultValue)Return as an Long the value associated with a specified key.- Parameters:
key- the key for the desired value.defaultValue- the value to return if the key does not exist.- Returns:
- the value associated with the key, or the specified default value if the key does not exist or is not a Long or string representation of a Long.
-
getLongValue
public static java.lang.Long getLongValue(java.lang.String key)
Return as an Long the value associated with a specified key.- Parameters:
key- the key for the desired value.- Returns:
- the value associated with the key, or null if the key does not exist or is not a Long or string representation of a Long.
-
getDoubleValue
public static java.lang.Double getDoubleValue(java.lang.String key, java.lang.Double defaultValue)Return as an Double the value associated with a specified key.- Parameters:
key- the key for the desired value.defaultValue- the value to return if the key does not exist.- Returns:
- the value associated with the key, or the specified default value if the key does not exist or is not an Double or string representation of an Double.
-
getDoubleValue
public static java.lang.Double getDoubleValue(java.lang.String key)
Return as an Double the value associated with a specified key.- Parameters:
key- the key for the desired value.- Returns:
- the value associated with the key, or null if the key does not exist or is not an Double or string representation of an Double.
-
getBooleanValue
public static java.lang.Boolean getBooleanValue(java.lang.String key, java.lang.Boolean defaultValue)Return as a Boolean the value associated with a specified key.Valid values for true are '1' or anything that starts with 't' or 'T'. ie. 'true', 'True', 't' Valid values for false are '0' or anything that starts with 'f' or 'F'. ie. 'false', 'False', 'f'
- Parameters:
key- the key for the desired value.defaultValue- the value to return if the key does not exist.- Returns:
- the value associated with the key, or the specified default value if the key does not exist or is not a Boolean or string representation of an Boolean.
-
getBooleanValue
public static java.lang.Boolean getBooleanValue(java.lang.String key)
Return as a Boolean the value associated with a specified key.Valid values for true are '1' or anything that starts with 't' or 'T'. ie. 'true', 'True', 't' Valid values for false are '0' or anything that starts with 'f' or 'F'. ie. 'false', 'False', 'f'
- Parameters:
key- the key for the desired value.- Returns:
- the value associated with the key, or null if the key does not exist or is not a Boolean or string representation of an Boolean.
-
hasKey
public static boolean hasKey(java.lang.String key)
Determines whether a key exists in the configuration.- Parameters:
key- the key of interest.- Returns:
- true if the key exists, otherwise false.
-
removeKey
public static void removeKey(java.lang.String key)
Removes a key and its value from the configuration if the configuration contains the key.- Parameters:
key- the key of interest.
-
setValue
public static void setValue(java.lang.String key, java.lang.Object value)Adds a key and value to the configuration, or changes the value associated with the key if the key is already in the configuration.- Parameters:
key- the key to set.value- the value to associate with the key.
-
getCurrentWorkingDirectory
public static java.lang.String getCurrentWorkingDirectory()
Returns the path to the application's current working directory.- Returns:
- the absolute path to the application's current working directory.
-
getUserHomeDirectory
public static java.lang.String getUserHomeDirectory()
Returns the path to the application user's home directory.- Returns:
- the absolute path to the application user's home directory.
-
getSystemTempDirectory
public static java.lang.String getSystemTempDirectory()
Returns the path to the operating system's temp directory.- Returns:
- the absolute path to the operating system's temporary directory.
-
getCurrentUserAppDataDirectory
public static java.lang.String getCurrentUserAppDataDirectory()
Returns the path to the current user's application data directory. The path returned depends on the operating system on which the Java Virtual Machine is running. The following table provides the path for all supported operating systems:Mapping Operating System Path Mac OS X ~/Library/Application Support Windows ~\\Application Data Linux, Unix, Solaris ~/ - Returns:
- the absolute path to the current user's application data directory.
-
isMacOS
public static boolean isMacOS()
Determines whether the operating system is a Mac operating system.- Returns:
- true if the operating system is a Mac operating system, otherwise false.
-
isWindowsOS
public static boolean isWindowsOS()
Determines whether the operating system is Windows operating system.- Returns:
- true if the operating system is a Windows operating system, otherwise false.
-
isWindowsXPOS
public static boolean isWindowsXPOS()
Determines whether the operating system is Windows XP operating system.- Returns:
- true if the operating system is a Windows XP operating system, otherwise false.
-
isWindowsVistaOS
public static boolean isWindowsVistaOS()
Determines whether the operating system is Windows Vista operating system.- Returns:
- true if the operating system is a Windows Vista operating system, otherwise false.
-
isWindows7OS
public static boolean isWindows7OS()
Determines whether the operating system is Windows 7 operating system.- Returns:
- true if the operating system is a Windows Vista operating system, otherwise false.
-
isLinuxOS
public static boolean isLinuxOS()
Determines whether the operating system is Linux operating system.- Returns:
- true if the operating system is a Linux operating system, otherwise false.
-
isUnixOS
public static boolean isUnixOS()
Determines whether the operating system is Unix operating system.- Returns:
- true if the operating system is a Unix operating system, otherwise false.
-
isSolarisOS
public static boolean isSolarisOS()
Determines whether the operating system is Solaris operating system.- Returns:
- true if the operating system is a Solaris operating system, otherwise false.
-
getJavaVersion
public static float getJavaVersion()
Returns the version of the Java virtual machine.- Returns:
- the Java virtual machine version.
-
getMaxCompatibleGLProfile
public static com.jogamp.opengl.GLProfile getMaxCompatibleGLProfile()
Returns the highest OpenGL profile available on the current graphics device that is compatible with WorldWind. The returned profile favors hardware acceleration over software acceleration. With JOGL version 2.0, this returns the highest available profile from the following list:- OpenGL compatibility profile 4.x
- OpenGL compatibility profile 3.x
- OpenGL profile 1.x up to 3.0
- Returns:
- the highest compatible OpenGL profile.
-
getRequiredGLCapabilities
public static com.jogamp.opengl.GLCapabilities getRequiredGLCapabilities()
Returns aGLCapabilitiesidentifying graphics features required by WorldWind. The capabilities instance returned requests the maximum OpenGL profile supporting GL fixed function operations, a frame buffer with 8 bits each of red, green, blue and alpha, a 24-bit depth buffer, double buffering, and if the Java property "gov.nasa.worldwind.stereo.mode" is set to "device", device supported stereo.- Returns:
- a new capabilities instance identifying required graphics features.
-
getElement
public static org.w3c.dom.Element getElement(java.lang.String xpathExpression)
Returns a specified element of an XML configuration document.- Parameters:
xpathExpression- an XPath expression identifying the element of interest.- Returns:
- the element of interest if the XPath expression is valid and the element exists, otherwise null.
- Throws:
java.lang.NullPointerException- if the XPath expression is null.
-
-