alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Tomcat example source code file (Registry.java)

This example Tomcat source code file (Registry.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Tomcat tags/keywords

error, error, hkey_classes_root, hkey_local_machine, key_all_access, key_create_sub_key, key_enumerate_sub_keys, key_execute, key_write, key_write, reg_binary, reg_sz, string, string

The Tomcat Registry.java source code

/*
 *  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 Mladen Turk
 * @version $Revision: 467222 $, $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
 */

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.
     * @param name Registry Subkey to open
     * @param root Root key, one of HKEY_*
     * @param som Access mask that specifies the access rights for the key.
     * @return Opened Registry key
     */
    public static native long create(int root, String name, int sam, long pool)
        throws Error;

     /**
     * Opens the specified Registry Key.
     * @param name Registry Subkey to open
     * @param root Root key, one of HKEY_*
     * @param som Access mask that specifies the access rights for the key.
     * @return Opened Registry key
     */
    public static native long open(int root, String name, int sam, long pool)
        throws Error;

    /**
     * Close the specified Registry key.
     * @param key The Registry key descriptor to close.
     */
    public static native int close(long key);

    /**
     * Get the Registry key type.
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Value type or negative error value
     */
    public static native int getType(long key, String name);

    /**
     * Get the Registry value for REG_DWORD
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Registry key value
     */
    public static native int getValueI(long key, String name)
        throws Error;

    /**
     * Get the Registry value for REG_QWORD or REG_DWORD
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Registry key value
     */
    public static native long getValueJ(long key, String name)
        throws Error;

    /**
     * Get the Registry key length.
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Value size or negative error value
     */
    public static native int getSize(long key, String name);

    /**
     * Get the Registry value for REG_SZ or REG_EXPAND_SZ
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Registry key value
     */
    public static native String getValueS(long key, String name)
        throws Error;

    /**
     * Get the Registry value for REG_MULTI_SZ
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Registry key value
     */
    public static native String[] getValueA(long key, String name)
        throws Error;

    /**
     * Get the Registry value for REG_BINARY
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Registry key value
     */
    public static native byte[] getValueB(long key, String name)
        throws Error;


    /**
     * Set the Registry value for REG_DWORD
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueI(long key, String name, int val);

    /**
     * Set the Registry value for REG_QWORD
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueJ(long key, String name, int val);

    /**
     * Set the Registry value for REG_SZ
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueS(long key, String name, String val);

    /**
     * Set the Registry value for REG_EXPAND_SZ
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueE(long key, String name, String val);

     /**
     * Set the Registry value for REG_MULTI_SZ
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueA(long key, String name, String[] val);

     /**
     * Set the Registry value for REG_BINARY
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to set
     * @param val The the value to set
     * @return If the function succeeds, the return value is 0
     */
    public static native int setValueB(long key, String name, byte[] val);

    /**
     * Enumerate the Registry subkeys
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Array of all subkey names
     */
    public static native String[] enumKeys(long key)
        throws Error;

    /**
     * Enumerate the Registry values
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to query
     * @return Array of all value names
     */
    public static native String[] enumValues(long key)
        throws Error;

     /**
     * Delete the Registry value
     * @param key The Registry key descriptor to use.
     * @param name The name of the value to delete
     * @return If the function succeeds, the return value is 0
     */
    public static native int deleteValue(long key, String name);

     /**
     * Delete the Registry subkey
     * @param root Root key, one of HKEY_*
     * @param name Subkey to delete
     * @param onlyIfEmpty If true will not delete a key if
     *                    it contains any subkeys or values
     * @return If the function succeeds, the return value is 0
     */
    public static native int deleteKey(int root, String name,
                                       boolean onlyIfEmpty);


}

Other Tomcat examples (source code examples)

Here is a short list of links related to this Tomcat Registry.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.