1 /*
   2  * reserved comment block
   3  * DO NOT REMOVE OR ALTER!
   4  */
   5 /*
   6  * Licensed to the Apache Software Foundation (ASF) under one or more
   7  * contributor license agreements.  See the NOTICE file distributed with
   8  * this work for additional information regarding copyright ownership.
   9  * The ASF licenses this file to You under the Apache License, Version 2.0
  10  * (the "License"); you may not use this file except in compliance with
  11  * the License.  You may obtain a copy of the License at
  12  *
  13  *      http://www.apache.org/licenses/LICENSE-2.0
  14  *
  15  * Unless required by applicable law or agreed to in writing, software
  16  * distributed under the License is distributed on an "AS IS" BASIS,
  17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  18  * See the License for the specific language governing permissions and
  19  * limitations under the License.
  20  */
  21 
  22 package com.sun.org.apache.xerces.internal.util;
  23 
  24 import com.sun.org.apache.xerces.internal.impl.XMLEntityDescription;
  25 
  26 /**
  27  * <p>This class is an implementation of the XMLEntityDescription
  28  * interface which describes the properties of an entity.</p>
  29  *
  30  * @author Michael Glavassevich, IBM
  31  *
  32  */
  33 public class XMLEntityDescriptionImpl
  34     extends XMLResourceIdentifierImpl
  35     implements XMLEntityDescription {
  36 
  37     //
  38     // Constructors
  39     //
  40 
  41     /** Constructs an empty entity description. */
  42     public XMLEntityDescriptionImpl() {} // <init>()
  43 
  44     /**
  45      * Constructs an entity description.
  46      *
  47      * @param entityName The name of the entity.
  48      * @param publicId The public identifier.
  49      * @param literalSystemId The literal system identifier.
  50      * @param baseSystemId The base system identifier.
  51      * @param expandedSystemId The expanded system identifier.
  52      */
  53     public XMLEntityDescriptionImpl(String entityName, String publicId, String literalSystemId,
  54                                     String baseSystemId, String expandedSystemId) {
  55         setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId);
  56     } // <init>(String,String,String,String,String)
  57 
  58     /**
  59      * Constructs a resource identifier.
  60      *
  61      * @param entityName The name of the entity.
  62      * @param publicId The public identifier.
  63      * @param literalSystemId The literal system identifier.
  64      * @param baseSystemId The base system identifier.
  65      * @param expandedSystemId The expanded system identifier.
  66      * @param namespace The namespace.
  67      */
  68     public XMLEntityDescriptionImpl(String entityName, String publicId, String literalSystemId,
  69                                     String baseSystemId, String expandedSystemId, String namespace) {
  70         setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId, namespace);
  71     } // <init>(String,String,String,String,String,String)
  72 
  73     //
  74     // Data
  75     //
  76 
  77     /** The name of the entity. */
  78     protected String fEntityName;
  79 
  80     //
  81     // Public methods
  82     //
  83 
  84     /**
  85      * Sets the name of the entity.
  86      *
  87      * @param name the name of the entity
  88      */
  89     public void setEntityName(String name) {
  90         fEntityName = name;
  91     } // setEntityName(String)
  92 
  93     /**
  94      * Returns the name of the entity.
  95      *
  96      * @return the name of the entity
  97      */
  98     public String getEntityName() {
  99         return fEntityName;
 100     } // getEntityName():String
 101 
 102     /**
 103      * <p>Sets the values of this entity description.</p>
 104      *
 105      * @param entityName The name of the entity.
 106      * @param publicId The public identifier.
 107      * @param literalSystemId The literal system identifier.
 108      * @param baseSystemId The base system identifier.
 109      * @param expandedSystemId The expanded system identifier.
 110      */
 111     public void setDescription(String entityName, String publicId, String literalSystemId,
 112                                String baseSystemId, String expandedSystemId) {
 113         setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId, null);
 114     } // setDescription(String,String,String,String,String)
 115 
 116     /**
 117      * <p>Sets the values of this entity description.</p>
 118      *
 119      * @param entityName The name of the entity.
 120      * @param publicId The public identifier.
 121      * @param literalSystemId The literal system identifier.
 122      * @param baseSystemId The base system identifier.
 123      * @param expandedSystemId The expanded system identifier.
 124      * @param namespace The namespace.
 125      */
 126     public void setDescription(String entityName, String publicId, String literalSystemId,
 127                                String baseSystemId, String expandedSystemId, String namespace) {
 128         fEntityName = entityName;
 129         setValues(publicId, literalSystemId, baseSystemId, expandedSystemId, namespace);
 130     } // setDescription(String,String,String,String,String,String)
 131 
 132     /**
 133      * <p>Clears the values.</p>
 134      */
 135     public void clear() {
 136         super.clear();
 137         fEntityName = null;
 138     } // clear()
 139 
 140     //
 141     // Object methods
 142     //
 143 
 144     /** Returns a hash code for this object. */
 145     public int hashCode() {
 146         int code = super.hashCode();
 147         if (fEntityName != null) {
 148             code += fEntityName.hashCode();
 149         }
 150         return code;
 151     } // hashCode():int
 152 
 153     /** Returns a string representation of this object. */
 154     public String toString() {
 155         StringBuffer str = new StringBuffer();
 156         if (fEntityName != null) {
 157             str.append(fEntityName);
 158         }
 159         str.append(':');
 160         if (fPublicId != null) {
 161             str.append(fPublicId);
 162         }
 163         str.append(':');
 164         if (fLiteralSystemId != null) {
 165             str.append(fLiteralSystemId);
 166         }
 167         str.append(':');
 168         if (fBaseSystemId != null) {
 169             str.append(fBaseSystemId);
 170         }
 171         str.append(':');
 172         if (fExpandedSystemId != null) {
 173             str.append(fExpandedSystemId);
 174         }
 175         str.append(':');
 176         if (fNamespace != null) {
 177             str.append(fNamespace);
 178         }
 179         return str.toString();
 180     } // toString():String
 181 
 182 } // XMLEntityDescriptionImpl