jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNotationImpl.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/DeferredNotationImpl.java Sun Aug 17 15:51:56 2014 +0100
@@ -0,0 +1,117 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+/*
+ * Copyright 1999-2002,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 com.sun.org.apache.xerces.internal.dom;
+
+/**
+ * Notations are how the Document Type Description (DTD) records hints
+ * about the format of an XML "unparsed entity" -- in other words,
+ * non-XML data bound to this document type, which some applications
+ * may wish to consult when manipulating the document. A Notation
+ * represents a name-value pair, with its nodeName being set to the
+ * declared name of the notation.
+ * <P>
+ * Notations are also used to formally declare the "targets" of
+ * Processing Instructions.
+ * <P>
+ * Note that the Notation's data is non-DOM information; the DOM only
+ * records what and where it is.
+ * <P>
+ * See the XML 1.0 spec, sections 4.7 and 2.6, for more info.
+ * <P>
+ * Level 1 of the DOM does not support editing Notation contents.
+ *
+ * @xerces.internal
+ *
+ * @since PR-DOM-Level-1-19980818.
+ */
+public class DeferredNotationImpl
+ extends NotationImpl
+ implements DeferredNode {
+
+ //
+ // Constants
+ //
+
+ /** Serialization version. */
+ static final long serialVersionUID = 5705337172887990848L;
+
+ //
+ // Data
+ //
+
+ /** Node index. */
+ protected transient int fNodeIndex;
+
+ //
+ // Constructors
+ //
+
+ /**
+ * This is the deferred constructor. Only the fNodeIndex is given here.
+ * All other data, can be requested from the ownerDocument via the index.
+ */
+ DeferredNotationImpl(DeferredDocumentImpl ownerDocument, int nodeIndex) {
+ super(ownerDocument, null);
+
+ fNodeIndex = nodeIndex;
+ needsSyncData(true);
+
+ } // <init>(DeferredDocumentImpl,int)
+
+ //
+ // DeferredNode methods
+ //
+
+ /** Returns the node index. */
+ public int getNodeIndex() {
+ return fNodeIndex;
+ }
+
+ //
+ // Protected methods
+ //
+
+ /**
+ * Synchronizes the data. This is special because of the way
+ * that the "fast" notation stores its information internally.
+ */
+ protected void synchronizeData() {
+
+ // no need to synchronize again
+ needsSyncData(false);
+
+ // name
+ DeferredDocumentImpl ownerDocument =
+ (DeferredDocumentImpl)this.ownerDocument();
+ name = ownerDocument.getNodeName(fNodeIndex);
+
+ ownerDocument.getNodeType(fNodeIndex);
+ // public and system ids
+ publicId = ownerDocument.getNodeValue(fNodeIndex);
+ systemId = ownerDocument.getNodeURI(fNodeIndex);
+ int extraDataIndex = ownerDocument.getNodeExtra(fNodeIndex);
+ ownerDocument.getNodeType(extraDataIndex);
+ baseURI = ownerDocument.getNodeName(extraDataIndex);
+
+
+ } // synchronizeData()
+
+} // class DeferredNotationImpl