extendedtype.java

来自「JAVA 所有包」· Java 代码 · 共 144 行

JAVA
144
字号
/* * Copyright 1999-2004 The Apache Software Foundation. * * 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. *//* * $Id: ExtendedType.java,v 1.2.4.1 2005/09/15 08:15:06 suresh_emailid Exp $ */package com.sun.org.apache.xml.internal.dtm.ref;/** * The class ExtendedType represents an extended type object used by * ExpandedNameTable. */public final class ExtendedType{    private int nodetype;    private String namespace;    private String localName;    private int hash;    /**     * Create an ExtendedType object from node type, namespace and local name.     * The hash code is calculated from the node type, namespace and local name.     *      * @param nodetype Type of the node     * @param namespace Namespace of the node     * @param localName Local name of the node     */    public ExtendedType (int nodetype, String namespace, String localName)    {      this.nodetype = nodetype;      this.namespace = namespace;      this.localName = localName;      this.hash = nodetype + namespace.hashCode() + localName.hashCode();    }    /**     * Create an ExtendedType object from node type, namespace, local name     * and a given hash code.     *      * @param nodetype Type of the node     * @param namespace Namespace of the node     * @param localName Local name of the node     * @param hash The given hash code     */    public ExtendedType (int nodetype, String namespace, String localName, int hash)    {      this.nodetype = nodetype;      this.namespace = namespace;      this.localName = localName;      this.hash = hash;    }    /**      * Redefine this ExtendedType object to represent a different extended type.     * This is intended to be used ONLY on the hashET object. Using it elsewhere     * will mess up existing hashtable entries!     */    protected void redefine(int nodetype, String namespace, String localName)    {      this.nodetype = nodetype;      this.namespace = namespace;      this.localName = localName;      this.hash = nodetype + namespace.hashCode() + localName.hashCode();    }    /**      * Redefine this ExtendedType object to represent a different extended type.     * This is intended to be used ONLY on the hashET object. Using it elsewhere     * will mess up existing hashtable entries!     */    protected void redefine(int nodetype, String namespace, String localName, int hash)    {      this.nodetype = nodetype;      this.namespace = namespace;      this.localName = localName;      this.hash = hash;    }    /**     * Override the hashCode() method in the Object class     */    public int hashCode()    {      return hash;    }    /**     * Test if this ExtendedType object is equal to the given ExtendedType.     *      * @param other The other ExtendedType object to test for equality     * @return true if the two ExtendedType objects are equal.     */    public boolean equals(ExtendedType other)    {      try      {        return other.nodetype == this.nodetype &&                other.localName.equals(this.localName) &&                other.namespace.equals(this.namespace);      }      catch(NullPointerException e)      {        return false;      }    }        /**     * Return the node type     */    public int getNodeType()    {      return nodetype;    }        /**     * Return the local name     */    public String getLocalName()    {      return localName;    }        /**     * Return the namespace     */    public String getNamespace()    {      return namespace;    }}

⌨️ 快捷键说明

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