install4j API documentation


com.install4j.api.windows
Class WinRegistry

java.lang.Object
  extended by com.install4j.api.windows.WinRegistry

public class WinRegistry
extends java.lang.Object

Collection of static methods to access the Microsoft Windows registry.

Author:
ej-technologies GmbH

Nested Class Summary
static class WinRegistry.ExpandString
          Class to represent Strings with type REG_EXPAND_SZ.
 
Method Summary
static boolean createKey(RegistryRoot root, java.lang.String keyName)
          Creates a registry key.
static void deleteKey(RegistryRoot root, java.lang.String keyName, boolean onlyIfEmpty)
          Deletes a registry key.
static void deleteValue(RegistryRoot root, java.lang.String keyName, java.lang.String valueName)
          Deletes a registry value.
static java.lang.String[] getSubKeyNames(RegistryRoot root, java.lang.String keyName)
          Retrieves the sub keys of a registry key.
static java.lang.Object getValue(RegistryRoot root, java.lang.String keyName, java.lang.String valueName)
          Retrieves a registry value.
static boolean keyExists(RegistryRoot root, java.lang.String keyName)
          Checks if a registry key exists.
static boolean restoreKey(RegistryRoot root, java.lang.String keyName, java.lang.String fileName)
          Restore a sub-tree of the registry from a file.
static boolean saveKey(RegistryRoot root, java.lang.String keyName, java.lang.String fileName)
          Save a sub-tree of the registry to a file.
static boolean setValue(RegistryRoot root, java.lang.String keyName, java.lang.String valueName, java.lang.Object value)
          Sets a registry value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

keyExists

public static boolean keyExists(RegistryRoot root,
                                java.lang.String keyName)
Checks if a registry key exists.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
Returns:
true if the key exists.

createKey

public static boolean createKey(RegistryRoot root,
                                java.lang.String keyName)
Creates a registry key.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
Returns:
true if successful.

getValue

public static java.lang.Object getValue(RegistryRoot root,
                                        java.lang.String keyName,
                                        java.lang.String valueName)
Retrieves a registry value. The class of the returned object is determined by the value's type.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
valueName - the name of the registry value.
Returns:
the requested value. Returns null, if the value doesn't exist. Otherwise it is an instance of one of the following classes: String, Integer, String[], byte[], WinRegistry.ExpandString.

setValue

public static boolean setValue(RegistryRoot root,
                               java.lang.String keyName,
                               java.lang.String valueName,
                               java.lang.Object value)
Sets a registry value. The type is determined by the class of the value.

Parameters:
root - one of the RegistryRoot.* constants
keyName - the name of the key without a leading backslash.
valueName - the name of the registry value.
value - an instance of one of the following classes: String, Integer, String[], byte[], WinRegistry.ExpandString.
Returns:
true if successful.

deleteValue

public static void deleteValue(RegistryRoot root,
                               java.lang.String keyName,
                               java.lang.String valueName)
Deletes a registry value.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
valueName - the name of the registry value.

deleteKey

public static void deleteKey(RegistryRoot root,
                             java.lang.String keyName,
                             boolean onlyIfEmpty)
Deletes a registry key.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
onlyIfEmpty - if true, the method will delete the key only if the key contains no values and no subkey.

getSubKeyNames

public static java.lang.String[] getSubKeyNames(RegistryRoot root,
                                                java.lang.String keyName)
Retrieves the sub keys of a registry key.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash.
Returns:
an array with the sub keys' names. Returns an empty array if there are no sub keys and null if the key doesn't exist or if an error occurs.

saveKey

public static boolean saveKey(RegistryRoot root,
                              java.lang.String keyName,
                              java.lang.String fileName)
Save a sub-tree of the registry to a file. The sub-tree can be restored with restoreKey.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash. This is the root of the saved sub-tree.
fileName - the file to which the sub-tree should be saved.
Returns:
whether the operation was sucessful or not.
See Also:
restoreKey(RegistryRoot, String, String)

restoreKey

public static boolean restoreKey(RegistryRoot root,
                                 java.lang.String keyName,
                                 java.lang.String fileName)
Restore a sub-tree of the registry from a file. This method can restore files saved with the saveKey method.

Parameters:
root - one of the RegistryRoot.* constants.
keyName - the name of the key without a leading backslash. This is the key to which the root of the saved sub-tree will be restored.
fileName - the file from which the saved sub-tree should be read.
Returns:
whether the operation was successful or not.
See Also:
saveKey(RegistryRoot, String, String)