Package org.apache.tomcat.jni
Class Registry
- java.lang.Object
-
- org.apache.tomcat.jni.Registry
-
public class Registry extends Object
Windows Registry support- Author:
- Mladen Turk
-
-
Field Summary
Fields Modifier and Type Field Description static intHKEY_CLASSES_ROOTstatic intHKEY_CURRENT_CONFIGstatic intHKEY_CURRENT_USERstatic intHKEY_LOCAL_MACHINEstatic intHKEY_USERSstatic intKEY_ALL_ACCESSstatic intKEY_CREATE_LINKstatic intKEY_CREATE_SUB_KEYstatic intKEY_ENUMERATE_SUB_KEYSstatic intKEY_EXECUTEstatic intKEY_NOTIFYstatic intKEY_QUERY_VALUEstatic intKEY_READstatic intKEY_SET_VALUEstatic intKEY_WOW64_32KEYstatic intKEY_WOW64_64KEYstatic intKEY_WRITEstatic intREG_BINARYstatic intREG_DWORDstatic intREG_EXPAND_SZstatic intREG_MULTI_SZstatic intREG_QWORDstatic intREG_SZ
-
Constructor Summary
Constructors Constructor Description Registry()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intclose(long key)Close the specified Registry key.static longcreate(int root, String name, int sam, long pool)Create or open a Registry Key.static intdeleteKey(int root, String name, boolean onlyIfEmpty)Delete the Registry subkeystatic intdeleteValue(long key, String name)Delete the Registry valuestatic String[]enumKeys(long key)Enumerate the Registry subkeysstatic String[]enumValues(long key)Enumerate the Registry valuesstatic intgetSize(long key, String name)Get the Registry key length.static intgetType(long key, String name)Get the Registry key type.static String[]getValueA(long key, String name)Get the Registry value for REG_MULTI_SZstatic byte[]getValueB(long key, String name)Get the Registry value for REG_BINARYstatic intgetValueI(long key, String name)Get the Registry value for REG_DWORDstatic longgetValueJ(long key, String name)Get the Registry value for REG_QWORD or REG_DWORDstatic StringgetValueS(long key, String name)Get the Registry value for REG_SZ or REG_EXPAND_SZstatic longopen(int root, String name, int sam, long pool)Opens the specified Registry Key.static intsetValueA(long key, String name, String[] val)Set the Registry value for REG_MULTI_SZstatic intsetValueB(long key, String name, byte[] val)Set the Registry value for REG_BINARYstatic intsetValueE(long key, String name, String val)Set the Registry value for REG_EXPAND_SZstatic intsetValueI(long key, String name, int val)Set the Registry value for REG_DWORDstatic intsetValueJ(long key, String name, long val)Set the Registry value for REG_QWORDstatic intsetValueS(long key, String name, String val)Set the Registry value for REG_SZ
-
-
-
Field Detail
-
HKEY_CLASSES_ROOT
public static final int HKEY_CLASSES_ROOT
- See Also:
- Constant Field Values
-
HKEY_CURRENT_CONFIG
public static final int HKEY_CURRENT_CONFIG
- See Also:
- Constant Field Values
-
HKEY_CURRENT_USER
public static final int HKEY_CURRENT_USER
- See Also:
- Constant Field Values
-
HKEY_LOCAL_MACHINE
public static final int HKEY_LOCAL_MACHINE
- See Also:
- Constant Field Values
-
HKEY_USERS
public static final int HKEY_USERS
- See Also:
- Constant Field Values
-
KEY_ALL_ACCESS
public static final int KEY_ALL_ACCESS
- See Also:
- Constant Field Values
-
KEY_CREATE_LINK
public static final int KEY_CREATE_LINK
- See Also:
- Constant Field Values
-
KEY_CREATE_SUB_KEY
public static final int KEY_CREATE_SUB_KEY
- See Also:
- Constant Field Values
-
KEY_ENUMERATE_SUB_KEYS
public static final int KEY_ENUMERATE_SUB_KEYS
- See Also:
- Constant Field Values
-
KEY_EXECUTE
public static final int KEY_EXECUTE
- See Also:
- Constant Field Values
-
KEY_NOTIFY
public static final int KEY_NOTIFY
- See Also:
- Constant Field Values
-
KEY_QUERY_VALUE
public static final int KEY_QUERY_VALUE
- See Also:
- Constant Field Values
-
KEY_READ
public static final int KEY_READ
- See Also:
- Constant Field Values
-
KEY_SET_VALUE
public static final int KEY_SET_VALUE
- See Also:
- Constant Field Values
-
KEY_WOW64_64KEY
public static final int KEY_WOW64_64KEY
- See Also:
- Constant Field Values
-
KEY_WOW64_32KEY
public static final int KEY_WOW64_32KEY
- See Also:
- Constant Field Values
-
KEY_WRITE
public static final int KEY_WRITE
- See Also:
- Constant Field Values
-
REG_BINARY
public static final int REG_BINARY
- See Also:
- Constant Field Values
-
REG_DWORD
public static final int REG_DWORD
- See Also:
- Constant Field Values
-
REG_EXPAND_SZ
public static final int REG_EXPAND_SZ
- See Also:
- Constant Field Values
-
REG_MULTI_SZ
public static final int REG_MULTI_SZ
- See Also:
- Constant Field Values
-
REG_QWORD
public static final int REG_QWORD
- See Also:
- Constant Field Values
-
REG_SZ
public static final int REG_SZ
- See Also:
- Constant Field Values
-
-
Method Detail
-
create
public static long create(int root, String name, int sam, long pool) throws ErrorCreate or open a Registry Key.- Parameters:
name- Registry Subkey to openroot- Root key, one of HKEY_*sam- Access mask that specifies the access rights for the key.pool- Pool used for native memory allocation- Returns:
- Opened Registry key
- Throws:
Error- An error occurred
-
open
public static long open(int root, String name, int sam, long pool) throws ErrorOpens the specified Registry Key.- Parameters:
name- Registry Subkey to openroot- Root key, one of HKEY_*sam- Access mask that specifies the access rights for the key.pool- Pool used for native memory allocation- Returns:
- Opened Registry key
- Throws:
Error- An error occurred
-
close
public static int close(long key)
Close the specified Registry key.- Parameters:
key- The Registry key descriptor to close.- Returns:
- the operation status
-
getType
public static int getType(long key, String name)Get the Registry key type.- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Value type or negative error value
-
getValueI
public static int getValueI(long key, String name) throws ErrorGet the Registry value for REG_DWORD- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Registry key value
- Throws:
Error- An error occurred
-
getValueJ
public static long getValueJ(long key, String name) throws ErrorGet the Registry value for REG_QWORD or REG_DWORD- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Registry key value
- Throws:
Error- An error occurred
-
getSize
public static int getSize(long key, String name)Get the Registry key length.- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Value size or negative error value
-
getValueS
public static String getValueS(long key, String name) throws Error
Get the Registry value for REG_SZ or REG_EXPAND_SZ- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Registry key value
- Throws:
Error- An error occurred
-
getValueA
public static String[] getValueA(long key, String name) throws Error
Get the Registry value for REG_MULTI_SZ- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Registry key value
- Throws:
Error- An error occurred
-
getValueB
public static byte[] getValueB(long key, String name) throws ErrorGet the Registry value for REG_BINARY- Parameters:
key- The Registry key descriptor to use.name- The name of the value to query- Returns:
- Registry key value
- Throws:
Error- An error occurred
-
setValueI
public static int setValueI(long key, String name, int val)Set the Registry value for REG_DWORD- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
setValueJ
public static int setValueJ(long key, String name, long val)Set the Registry value for REG_QWORD- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
setValueS
public static int setValueS(long key, String name, String val)Set the Registry value for REG_SZ- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
setValueE
public static int setValueE(long key, String name, String val)Set the Registry value for REG_EXPAND_SZ- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
setValueA
public static int setValueA(long key, String name, String[] val)Set the Registry value for REG_MULTI_SZ- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
setValueB
public static int setValueB(long key, String name, byte[] val)Set the Registry value for REG_BINARY- Parameters:
key- The Registry key descriptor to use.name- The name of the value to setval- The the value to set- Returns:
- If the function succeeds, the return value is 0
-
enumKeys
public static String[] enumKeys(long key) throws Error
Enumerate the Registry subkeys- Parameters:
key- The Registry key descriptor to use.- Returns:
- Array of all subkey names
- Throws:
Error- An error occurred
-
enumValues
public static String[] enumValues(long key) throws Error
Enumerate the Registry values- Parameters:
key- The Registry key descriptor to use.- Returns:
- Array of all value names
- Throws:
Error- An error occurred
-
deleteValue
public static int deleteValue(long key, String name)Delete the Registry value- Parameters:
key- The Registry key descriptor to use.name- The name of the value to delete- Returns:
- If the function succeeds, the return value is 0
-
deleteKey
public static int deleteKey(int root, String name, boolean onlyIfEmpty)Delete the Registry subkey- Parameters:
root- Root key, one of HKEY_*name- Subkey to deleteonlyIfEmpty- If true will not delete a key if it contains any subkeys or values- Returns:
- If the function succeeds, the return value is 0
-
-