⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkgnamcsn.java

📁 derby database source code.good for you.
💻 JAVA
字号:
/* * Derby - class org.apache.derby.impl.drda.Pkgnamcsn * * Copyright 2005 The Apache Software Foundation or its licensors, as * applicable. * * Licensed 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.derby.impl.drda;/** * Class representing a PKGNAMCSN object (RDB Package Name, * Consistency Token, and Section Number). */final class Pkgnamcsn {    /** Database name. */    private final String rdbnam;    /** RDB Package Collection Identifier. */    private final String rdbcolid;    /** RDB Package Identifier. */    private final String pkgid;    /** RDB Package Section Number. */    private final int pkgsn;    /** RDB Package Consistency Token. */    private final ConsistencyToken pkgcnstkn;    /** Object which can be used for hashing when the consistency     * token can be ignored. */    private Object statementKey = null;    /**     * Create a new <code>Pkgnamcsn</code> instance.     *     * @param rdbnam database name     * @param rdbcolid RDB Package Collection Identifier     * @param pkgid RDB Package Identifier     * @param pkgsn RDB Package Section Number     * @param pkgcnstkn RDB Package Consistency Token     */    Pkgnamcsn(String rdbnam, String rdbcolid, String pkgid,                     int pkgsn, ConsistencyToken pkgcnstkn) {        this.rdbnam = rdbnam;        this.rdbcolid = rdbcolid;        this.pkgid = pkgid;        this.pkgsn = pkgsn;        this.pkgcnstkn = pkgcnstkn;    }    /**     * Get RDBNAM.     *     * @return database name     */    public String getRdbnam() {        return rdbnam;    }    /**     * Get RDBCOLID.     *     * @return RDB Package Collection Identifier     */    public String getRdbcolid() {        return rdbcolid;    }    /**     * Get PKGID.     *     * @return RDB Package Identifier     */    public String getPkgid() {        return pkgid;    }    /**     * Get PKGSN.     *     * @return RDB Package Section Number     */    public int getPkgsn() {        return pkgsn;    }    /**     * Get PKGCNSTKN.     *     * @return RDB Package Consistency Token     */    public ConsistencyToken getPkgcnstkn() {        return pkgcnstkn;    }    /**     * Return string representation.     *     * @return a <code>String</code> value     */    public String toString() {        return super.toString() + "(\"" + rdbnam + "\", \"" +            rdbcolid + "\", \"" + pkgid + "\", " + pkgsn +            ", " + pkgcnstkn + ")";    }    /**     * Return an object which can be used as a key in a hash table     * when the value of the consistency token can be ignored. The     * object has <code>equals()</code> and <code>hashCode()</code>     * methods which consider other objects returned from     * <code>getStatementKey()</code> equal if RDBNAM, RDBCOLID, PKGID     * and PKGSN are equal.     *     * @return an <code>Object</code> value     * @see Database#getDRDAStatement(Pkgnamcsn)     * @see Database#storeStatement(DRDAStatement)     * @see Database#removeStatement(DRDAStatement)     */    public Object getStatementKey() {        if (statementKey == null) {            statementKey = new StatementKey();        }        return statementKey;    }    /**     * Class for objects used as keys in the hash table     * <code>stmtTable</code> found in the <code>Database</code>     * class. The <code>equals()</code> and <code>hashCode()</code>     * methods consider other <code>StatementKey</code> objects equal     * to this object if they are associated with a     * <code>Pkgnamcsn</code> object with the same values for RDBNAM,     * RDBCOLID, PKGID and PKGSN.     *     * @see Database     */    private final class StatementKey {        /** Cached hash code. */        private int hash = 0;        /**         * Check whether RDBNAM, RDBCOLID, PKGID and PKGSN of another         * <code>StatementKey</code> object matches this object.         *         * @param obj another object         * @return true if the objects are equal         */        public boolean equals(Object obj) {            if (StatementKey.this == obj) {                return true;            } else if (obj instanceof StatementKey) {                return ((StatementKey) obj).isKeyFor(Pkgnamcsn.this);            } else {                return false;            }        }        /**         * Calculate hash code.         *         * @return hash code         */        public int hashCode() {            if (hash == 0) {                hash =                    rdbnam.hashCode() ^                    rdbcolid.hashCode() ^                    pkgid.hashCode() ^                    pkgsn;            }            return hash;        }        /**         * Check whether this object can be used as a key for a         * <code>Pkgnamcsn</code> object.         *         * @param p a <code>Pkgnamcsn</code> value         * @return true if this object can be key for the         * <code>Pkgnamcsn</code> object         */        private boolean isKeyFor(Pkgnamcsn p) {            return                rdbnam.equals(p.rdbnam) &&                rdbcolid.equals(p.rdbcolid) &&                pkgid.equals(p.pkgid) &&                pkgsn == p.pkgsn;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -