You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2004/03/16 23:03:22 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/util XMLEntityDescriptionImpl.java

mrglavas    2004/03/16 14:03:22

  Modified:    java/src/org/apache/xerces/impl XMLDocumentScannerImpl.java
                        XMLEntityManager.java
  Added:       java/src/org/apache/xerces/impl XMLEntityDescription.java
               java/src/org/apache/xerces/util
                        XMLEntityDescriptionImpl.java
  Log:
  Preparing for SAX2 Extensions 1.1. As first step towards supporting
  EntityResolver2, create a new interface which extends
  XMLResourceIdentifier that communicates the name of an entity
  in addition to its location. This is required to support 
  EntityResolver2.resolveEntity() whose first parameter
  is the name of the entity.
  
  Revision  Changes    Path
  1.43      +5 -5      xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentScannerImpl.java
  
  Index: XMLDocumentScannerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentScannerImpl.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- XMLDocumentScannerImpl.java	11 Mar 2004 18:15:17 -0000	1.42
  +++ XMLDocumentScannerImpl.java	16 Mar 2004 22:03:22 -0000	1.43
  @@ -24,7 +24,7 @@
   import org.apache.xerces.impl.validation.ValidationManager;
   import org.apache.xerces.util.NamespaceSupport;
   import org.apache.xerces.util.XMLChar;
  -import org.apache.xerces.util.XMLResourceIdentifierImpl;
  +import org.apache.xerces.util.XMLEntityDescriptionImpl;
   import org.apache.xerces.util.XMLStringBuffer;
   import org.apache.xerces.xni.Augmentations;
   import org.apache.xerces.xni.NamespaceContext;
  @@ -894,7 +894,7 @@
               fEntityManager.setEntityHandler(null);
               try {
                   boolean again;
  -		        XMLResourceIdentifierImpl resourceIdentifier = new XMLResourceIdentifierImpl();
  +                XMLEntityDescriptionImpl entityDescription = new XMLEntityDescriptionImpl();
                   do {
                       again = false;
                       switch (fScannerState) {
  @@ -933,9 +933,9 @@
                               break;
                           }
                           case SCANNER_STATE_DTD_EXTERNAL: {
  -			                resourceIdentifier.setValues(fDoctypePublicId, fDoctypeSystemId, null, null);
  +                            entityDescription.setDescription("[dtd]", fDoctypePublicId, fDoctypeSystemId, null, null);
                               XMLInputSource xmlInputSource =
  -                                fEntityManager.resolveEntity(resourceIdentifier);
  +                                fEntityManager.resolveEntity(entityDescription);
                               fDTDScanner.setInputSource(xmlInputSource);
                               setScannerState(SCANNER_STATE_DTD_EXTERNAL_DECLS);
                               again = true;
  
  
  
  1.79      +7 -3      xml-xerces/java/src/org/apache/xerces/impl/XMLEntityManager.java
  
  Index: XMLEntityManager.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLEntityManager.java,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- XMLEntityManager.java	5 Mar 2004 22:17:00 -0000	1.78
  +++ XMLEntityManager.java	16 Mar 2004 22:03:22 -0000	1.79
  @@ -39,6 +39,7 @@
   import org.apache.xerces.util.SymbolTable;
   import org.apache.xerces.util.URI;
   import org.apache.xerces.util.XMLChar;
  +import org.apache.xerces.util.XMLEntityDescriptionImpl;
   import org.apache.xerces.util.XMLResourceIdentifierImpl;
   import org.apache.xerces.xni.Augmentations;
   import org.apache.xerces.xni.XMLResourceIdentifier;
  @@ -489,7 +490,8 @@
                   }
               }
               Entity entity = new ExternalEntity(name,
  -                    new XMLResourceIdentifierImpl(publicId, literalSystemId, baseSystemId, expandSystemId(literalSystemId, baseSystemId, false)), null, fInExternalSubset);
  +                new XMLEntityDescriptionImpl(name, publicId, literalSystemId, baseSystemId, 
  +                expandSystemId(literalSystemId, baseSystemId, false)), null, fInExternalSubset);
               fEntities.put(name, entity);
           }
           else{
  @@ -556,7 +558,9 @@
                                     String publicId, String systemId,
                                     String baseSystemId, String notation) {
           if (!fEntities.containsKey(name)) {
  -            Entity entity = new ExternalEntity(name, new XMLResourceIdentifierImpl(publicId, systemId, baseSystemId, null), notation, fInExternalSubset);
  +            Entity entity = new ExternalEntity(name, 
  +                new XMLEntityDescriptionImpl(name, publicId, systemId, baseSystemId, null), 
  +                notation, fInExternalSubset);
               fEntities.put(name, entity);
           }
           else{
  
  
  
  1.1                  xml-xerces/java/src/org/apache/xerces/impl/XMLEntityDescription.java
  
  Index: XMLEntityDescription.java
  ===================================================================
  /*
   * Copyright 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.
   */
   
  package org.apache.xerces.impl;
  
  import org.apache.xerces.xni.XMLResourceIdentifier;
  
  /**
   * <p>This interface describes the properties of entities--their
   * physical location and their name.</p>
   *
   * @author Michael Glavassevich, IBM
   * 
   * @version $Id: XMLEntityDescription.java,v 1.1 2004/03/16 22:03:22 mrglavas Exp $
   */
  public interface XMLEntityDescription extends XMLResourceIdentifier {
  	
      /** 
       * Sets the name of the entity.
       * 
       * @param name the name of the entity
       */
      public void setEntityName(String name);
       
      /** 
       * Returns the name of the entity. 
       *
       * @return the name of the entity 
       */
      public String getEntityName();
      
  } // XMLEntityDescription
  
  
  
  1.1                  xml-xerces/java/src/org/apache/xerces/util/XMLEntityDescriptionImpl.java
  
  Index: XMLEntityDescriptionImpl.java
  ===================================================================
  /*
   * Copyright 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.
   */
   
  package org.apache.xerces.util;
  
  import org.apache.xerces.impl.XMLEntityDescription;
  
  /**
   * <p>This class is an implementation of the XMLEntityDescription 
   * interface which describes the properties of an entity.</p>
   *
   * @author Michael Glavassevich, IBM
   * 
   * @version $Id: XMLEntityDescriptionImpl.java,v 1.1 2004/03/16 22:03:22 mrglavas Exp $
   */
  public class XMLEntityDescriptionImpl 
      extends XMLResourceIdentifierImpl
      implements XMLEntityDescription {
      	
      //
      // Constructors
      //
  
      /** Constructs an empty entity description. */
      public XMLEntityDescriptionImpl() {} // <init>()
  
      /**
       * Constructs an entity description.
       *
       * @param entityName The name of the entity.
       * @param publicId The public identifier.
       * @param literalSystemId The literal system identifier.
       * @param baseSystemId The base system identifier.
       * @param expandedSystemId The expanded system identifier.
       */
      public XMLEntityDescriptionImpl(String entityName, String publicId, String literalSystemId, 
                                      String baseSystemId, String expandedSystemId) {
          setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId);
      } // <init>(String,String,String,String,String)
  
      /**
       * Constructs a resource identifier.
       *
       * @param entityName The name of the entity.
       * @param publicId The public identifier.
       * @param literalSystemId The literal system identifier.
       * @param baseSystemId The base system identifier.
       * @param expandedSystemId The expanded system identifier.
       * @param namespace The namespace.
       */
      public XMLEntityDescriptionImpl(String entityName, String publicId, String literalSystemId,
                                      String baseSystemId, String expandedSystemId, String namespace) {
          setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId, namespace);
      } // <init>(String,String,String,String,String,String)
  
      //
      // Data
      //
      
      /** The name of the entity. */
      protected String fEntityName;
  
      //
      // Public methods
      //
      
      /** 
       * Sets the name of the entity.
       * 
       * @param name the name of the entity
       */
      public void setEntityName(String name) {
          fEntityName = name;
      } // setEntityName(String)
  
      /** 
       * Returns the name of the entity. 
       *
       * @return the name of the entity 
       */
      public String getEntityName() {
          return fEntityName;
      } // getEntityName():String
      
      /** 
       * <p>Sets the values of this entity description.</p>
       * 
       * @param entityName The name of the entity.
       * @param publicId The public identifier.
       * @param literalSystemId The literal system identifier.
       * @param baseSystemId The base system identifier.
       * @param expandedSystemId The expanded system identifier.
       */
      public void setDescription(String entityName, String publicId, String literalSystemId,
                                 String baseSystemId, String expandedSystemId) {
          setDescription(entityName, publicId, literalSystemId, baseSystemId, expandedSystemId, null);
      } // setDescription(String,String,String,String,String)
  
      /** 
       * <p>Sets the values of this entity description.</p>
       * 
       * @param entityName The name of the entity.
       * @param publicId The public identifier.
       * @param literalSystemId The literal system identifier.
       * @param baseSystemId The base system identifier.
       * @param expandedSystemId The expanded system identifier.
       * @param namespace The namespace.
       */
      public void setDescription(String entityName, String publicId, String literalSystemId,
                                 String baseSystemId, String expandedSystemId, String namespace) {
          fEntityName = entityName;
          setValues(publicId, literalSystemId, baseSystemId, expandedSystemId, namespace);
      } // setDescription(String,String,String,String,String,String)
  
      /** 
       * <p>Clears the values.</p>
       */
      public void clear() {
          super.clear();
          fEntityName = null;
      } // clear()
      
      //
      // Object methods
      //
      
      /** Returns a hash code for this object. */
      public int hashCode() {
          int code = super.hashCode();
          if (fEntityName != null) {
              code += fEntityName.hashCode();
          }
          return code;
      } // hashCode():int
      
      /** Returns a string representation of this object. */
      public String toString() {
          StringBuffer str = new StringBuffer();
          if (fEntityName != null) {
              str.append(fEntityName);
          }
          str.append(':');
          if (fPublicId != null) {
              str.append(fPublicId);
          }
          str.append(':');
          if (fLiteralSystemId != null) {
              str.append(fLiteralSystemId);
          }
          str.append(':');
          if (fBaseSystemId != null) {
              str.append(fBaseSystemId);
          }
          str.append(':');
          if (fExpandedSystemId != null) {
              str.append(fExpandedSystemId);
          }
          str.append(':');
          if (fNamespace != null) {
              str.append(fNamespace);
          }
          return str.toString();
      } // toString():String
  
  } // XMLEntityDescriptionImpl
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org