Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *  Licensed to the Apache Software Foundation (ASF) under one or more
   *  contributor license agreements.  See the NOTICE file distributed with
   *  this work for additional information regarding copyright ownership.
   *  The ASF licenses this file to You under the Apache License, Version 2.0
   *  (the "License"); you may not use this file except in compliance with
   *  the License.  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
  *
  *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
 
 package org.apache.tomcat.jni;

Windows Registy support

Author(s):
Mladen Turk
Version:
$Revision: 515 $, $Date: 2008-03-17 22:02:23 +0100 (Mon, 17 Mar 2008) $
 
 
 public class Registry {
 
     /* Registry Enums */
     public static final int HKEY_CLASSES_ROOT       = 1;
     public static final int HKEY_CURRENT_CONFIG     = 2;
     public static final int HKEY_CURRENT_USER       = 3;
     public static final int HKEY_LOCAL_MACHINE      = 4;
     public static final int HKEY_USERS              = 5;
 
     public static final int KEY_ALL_ACCESS          = 0x0001;
     public static final int KEY_CREATE_LINK         = 0x0002;
     public static final int KEY_CREATE_SUB_KEY      = 0x0004;
     public static final int KEY_ENUMERATE_SUB_KEYS  = 0x0008;
     public static final int KEY_EXECUTE             = 0x0010;
     public static final int KEY_NOTIFY              = 0x0020;
     public static final int KEY_QUERY_VALUE         = 0x0040;
     public static final int KEY_READ                = 0x0080;
     public static final int KEY_SET_VALUE           = 0x0100;
     public static final int KEY_WOW64_64KEY         = 0x0200;
     public static final int KEY_WOW64_32KEY         = 0x0400;
     public static final int KEY_WRITE               = 0x0800;
 
     public static final int REG_BINARY              = 1;
     public static final int REG_DWORD               = 2;
     public static final int REG_EXPAND_SZ           = 3;
     public static final int REG_MULTI_SZ            = 4;
     public static final int REG_QWORD               = 5;
     public static final int REG_SZ                  = 6;

     
Create or open a Registry Key.

Parameters:
name Registry Subkey to open
root Root key, one of HKEY_*
som Access mask that specifies the access rights for the key.
Returns:
Opened Registry key
 
     public static native long create(int rootString nameint samlong pool)
         throws Error;

     
Opens the specified Registry Key.

Parameters:
name Registry Subkey to open
root Root key, one of HKEY_*
som Access mask that specifies the access rights for the key.
Returns:
Opened Registry key
 
     public static native long open(int rootString nameint samlong pool)
         throws Error;

    
Close the specified Registry key.

Parameters:
key The Registry key descriptor to close.
 
     public static native int close(long key);

    
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
 
     public static native int getType(long keyString name);

    
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
 
     public static native int getValueI(long keyString 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
    public static native long getValueJ(long keyString name)
        throws Error;

    
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
    public static native int getSize(long keyString name);

    
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
    public static native String getValueS(long keyString 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
    public static native String[] getValueA(long keyString 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
    public static native byte[] getValueB(long keyString name)
        throws Error;


    
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
    public static native int setValueI(long keyString nameint 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
    public static native int setValueJ(long keyString nameint 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
    public static native int setValueS(long keyString nameString 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
    public static native int setValueE(long keyString nameString 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
    public static native int setValueA(long keyString nameString[] 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
    public static native int setValueB(long keyString namebyte[] val);

    
Enumerate the Registry subkeys

Parameters:
key The Registry key descriptor to use.
name The name of the value to query
Returns:
Array of all subkey names
    public static native String[] enumKeys(long key)
        throws Error;

    
Enumerate the Registry values

Parameters:
key The Registry key descriptor to use.
name The name of the value to query
Returns:
Array of all value names
    public static native String[] enumValues(long key)
        throws Error;

     
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
    public static native int deleteValue(long keyString name);

     
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
    public static native int deleteKey(int rootString name,
                                       boolean onlyIfEmpty);
New to GrepCode? Check out our FAQ X