Package Express.services

Source Code of Express.services.ConcurrencyKeyHash

package Express.services;

import java.io.Serializable;

import DisplayProject.binding.beans.Observable;
import Framework.Constants;
import Framework.HashFuncs;
import Framework.NumericData;
import Framework.RuntimeProperties;

/**
* This class appears in the project, but is for internal use only and is not documented.
* <p>
* @author ITerative Consulting
* @since  26-Feb-2008
*/
@RuntimeProperties(isDistributed=false, isAnchored=false, isShared=false, isTransactional=false)
@SuppressWarnings("serial")
public class ConcurrencyKeyHash
        extends HashFuncs
        implements Serializable, Observable
{

    // ----------
    // Attributes
    // ----------
    private int businessKeyType;
    private HashFuncs stringHash;

    // ------------
    // Constructors
    // ------------
    public ConcurrencyKeyHash() {
        // Explicitly call the superclass constructor to prevent the implicit call
        super();

    }

    public ConcurrencyKeyHash(int pKeyType) {
        this();
        this.setKeyType( pKeyType );
    }

    // -------
    // Methods
    // -------
    /**
     * compareKey<p>
     * <p>
     * @param key1 Type: Object
     * @param key2 Type: Object
     * @return boolean
     */
    public boolean compareKey(Object key1, Object key2) {
        if (((BusinessKey)key1).compare((BusinessKey)key2) == BusinessKey.CMP_EQ) {
            return true;
        }

        return false;
    }

    /**
     * hashKey<p>
     * <p>
     * @param key Type: Object
     * @return int
     */
    public int hashKey(Object key) {
        BusinessKey bk = (BusinessKey)key;

        if (bk.getValues() == null || bk.getValues().size() < 1) {
            return 0;
        }

        if (this.businessKeyType == 0) {

            if (bk.getValues().get(0) instanceof NumericData) {
                this.businessKeyType = Constants.SP_KT_INTEGER;
            }
            else {
                this.businessKeyType = Constants.SP_KT_STRING;
                this.stringHash = new HashFuncs(this.businessKeyType);
            }

        }

        if (this.businessKeyType == Constants.SP_KT_INTEGER) {
            return bk.getValues().get(0).asI4();
        }
        else {
            return this.stringHash.hashKey(bk.getValues().get(0).toString());
        }
    }
// end class ConcurrencyKeyHash
// c Pass 2 Conversion Time: 125 milliseconds
TOP

Related Classes of Express.services.ConcurrencyKeyHash

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.