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 and Description
    --- | ---
    `static int` | `HKEY_CLASSES_ROOT`
    `static int` | `HKEY_CURRENT_CONFIG`
    `static int` | `HKEY_CURRENT_USER`
    `static int` | `HKEY_LOCAL_MACHINE`
    `static int` | `HKEY_USERS`
    `static int` | `KEY_ALL_ACCESS`
    `static int` | `KEY_CREATE_LINK`
    `static int` | `KEY_CREATE_SUB_KEY`
    `static int` | `KEY_ENUMERATE_SUB_KEYS`
    `static int` | `KEY_EXECUTE`
    `static int` | `KEY_NOTIFY`
    `static int` | `KEY_QUERY_VALUE`
    `static int` | `KEY_READ`
    `static int` | `KEY_SET_VALUE`
    `static int` | `KEY_WOW64_32KEY`
    `static int` | `KEY_WOW64_64KEY`
    `static int` | `KEY_WRITE`
    `static int` | `REG_BINARY`
    `static int` | `REG_DWORD`
    `static int` | `REG_EXPAND_SZ`
    `static int` | `REG_MULTI_SZ`
    `static int` | `REG_QWORD`
    `static int` | `REG_SZ`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Registry()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `close(long key)` Close the specified Registry key.
    `static long` | `create(int root, String name, int sam, long pool)` Create or open a Registry Key.
    `static int` | `deleteKey(int root, String name, boolean onlyIfEmpty)` Delete the Registry subkey
    `static int` | `deleteValue(long key, String name)` Delete the Registry value
    `static String[]` | `enumKeys(long key)` Enumerate the Registry subkeys
    `static String[]` | `enumValues(long key)` Enumerate the Registry values
    `static int` | `getSize(long key, String name)` Get the Registry key length.
    `static int` | `getType(long key, String name)` Get the Registry key type.
    `static String[]` | `getValueA(long key, String name)` Get the Registry value for REG_MULTI_SZ
    `static byte[]` | `getValueB(long key, String name)` Get the Registry value for REG_BINARY
    `static int` | `getValueI(long key, String name)` Get the Registry value for REG_DWORD
    `static long` | `getValueJ(long key, String name)` Get the Registry value for REG_QWORD or REG_DWORD
    `static String` | `getValueS(long key, String name)` Get the Registry value for REG_SZ or REG_EXPAND_SZ
    `static long` | `open(int root, String name, int sam, long pool)` Opens the specified Registry Key.
    `static int` | `setValueA(long key, String name, String[] val)` Set the Registry value for REG_MULTI_SZ
    `static int` | `setValueB(long key, String name, byte[] val)` Set the Registry value for REG_BINARY
    `static int` | `setValueE(long key, String name, String val)` Set the Registry value for REG_EXPAND_SZ
    `static int` | `setValueI(long key, String name, int val)` Set the Registry value for REG_DWORD
    `static int` | `setValueJ(long key, String name, long val)` Set the Registry value for REG_QWORD
    `static int` | `setValueS(long key, String name, String val)` Set the Registry value for REG_SZ

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

  - ### Constructor Detail

    - #### Registry

          public Registry()

  - ### Method Detail

    - #### create

          public static long create(int root,
                    String name,
                    int sam,
                    long pool)
                             throws Error

      Create or open a Registry Key.
      Parameters:
        `name` - Registry Subkey to open
        `root` - 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 Error

      Opens the specified Registry Key.
      Parameters:
        `name` - Registry Subkey to open
        `root` - 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 Error

      Get 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 Error

      Get 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 Error

      Get 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 set
        `val` - 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 set
        `val` - 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 set
        `val` - 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 set
        `val` - 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 set
        `val` - 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 set
        `val` - 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 delete
        `onlyIfEmpty` - If true will not delete a key if it contains any subkeys or values
      Returns:
        If the function succeeds, the return value is 0

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.