Author: veithen
Date: Fri Aug 28 21:23:50 2015
New Revision: 1698420

URL: http://svn.apache.org/r1698420
Log:
Unify the entity reference code.

Added:
    
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj
   (with props)
Modified:
    
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreEntityReferenceSupport.aj
    
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
    
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
    
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
    
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
    
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
    
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
    
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
    
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
    
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java

Modified: 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreEntityReferenceSupport.aj
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreEntityReferenceSupport.aj?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreEntityReferenceSupport.aj
 (original)
+++ 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/CoreEntityReferenceSupport.aj
 Fri Aug 28 21:23:50 2015
@@ -19,10 +19,29 @@
 package org.apache.axiom.core;
 
 public aspect CoreEntityReferenceSupport {
+    private String CoreEntityReference.name;
+    private String CoreEntityReference.replacementText;
+    
     public final int CoreEntityReference.coreGetNodeType() {
         return ENTITY_REFERENCE_NODE;
     }
     
+    public final String CoreEntityReference.coreGetName() {
+        return name;
+    }
+    
+    public final void CoreEntityReference.coreSetName(String name) {
+        this.name = name;
+    }
+    
+    public final String CoreEntityReference.coreGetReplacementText() {
+        return replacementText;
+    }
+    
+    public final void CoreEntityReference.coreSetReplacementText(String 
replacementText) {
+        this.replacementText = replacementText;
+    }
+    
     public final CoreNode CoreEntityReference.shallowClone(ClonePolicy policy, 
Object options) {
         // TODO
         throw new UnsupportedOperationException();

Modified: 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
 (original)
+++ 
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/NodeFactory.java
 Fri Aug 28 21:23:50 2015
@@ -28,4 +28,5 @@ public interface NodeFactory {
     CoreNSAwareAttribute createAttribute(CoreDocument document, String 
namespaceURI, String localName, String prefix, String value, String type);
     CoreNamespaceDeclaration createNamespaceDeclaration(CoreDocument document, 
String prefix, String namespaceURI);
     CoreProcessingInstruction createProcessingInstruction();
+    CoreEntityReference createEntityReference();
 }

Modified: 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
 (original)
+++ 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMDocumentSupport.aj
 Fri Aug 28 21:23:50 2015
@@ -28,6 +28,7 @@ import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
+import org.w3c.dom.EntityReference;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -180,6 +181,13 @@ public aspect DOMDocumentSupport {
         return pi;
     }
 
+    public final EntityReference DOMDocument.createEntityReference(String 
name) throws DOMException {
+        DOMEntityReference node = 
(DOMEntityReference)coreGetNodeFactory().createEntityReference();
+        node.coreSetOwnerDocument(this);
+        node.coreSetName(name);
+        return node;
+    }
+
     public final NodeList DOMDocument.getElementsByTagName(String tagname) {
         return new ElementsByTagName(this, tagname);
     }

Modified: 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
 (original)
+++ 
webservices/axiom/trunk/aspects/dom-aspects/src/main/java/org/apache/axiom/dom/DOMEntityReferenceSupport.aj
 Fri Aug 28 21:23:50 2015
@@ -24,12 +24,22 @@ import org.apache.axiom.core.CoreElement
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 public aspect DOMEntityReferenceSupport {
     public final Document DOMEntityReference.getOwnerDocument() {
         return (Document)coreGetOwnerDocument(true);
     }
 
+    public final short DOMEntityReference.getNodeType() {
+        return Node.ENTITY_REFERENCE_NODE;
+    }
+
+    public final String DOMEntityReference.getNodeName() {
+        return coreGetName();
+    }
+
     public final String DOMEntityReference.getNodeValue() {
         return null;
     }
@@ -72,4 +82,36 @@ public aspect DOMEntityReferenceSupport
     public final CoreElement DOMEntityReference.getNamespaceContext() {
         return coreGetParentElement();
     }
+
+    public final boolean DOMEntityReference.hasChildNodes() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final Node DOMEntityReference.getFirstChild() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final Node DOMEntityReference.getLastChild() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final NodeList DOMEntityReference.getChildNodes() {
+        throw new UnsupportedOperationException();
+    }
+
+    public final Node DOMEntityReference.appendChild(Node newChild) throws 
DOMException {
+        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
+    }
+
+    public final Node DOMEntityReference.removeChild(Node oldChild) throws 
DOMException {
+        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
+    }
+
+    public final Node DOMEntityReference.insertBefore(Node newChild, Node 
refChild) throws DOMException {
+        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
+    }
+
+    public final Node DOMEntityReference.replaceChild(Node newChild, Node 
oldChild) throws DOMException {
+        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
+    }
 }

Added: 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj?rev=1698420&view=auto
==============================================================================
--- 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj
 (added)
+++ 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj
 Fri Aug 28 21:23:50 2015
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.axiom.om.impl.common;
+
+import org.apache.axiom.om.OMNode;
+import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.impl.common.serializer.push.OutputException;
+import org.apache.axiom.om.impl.common.serializer.push.Serializer;
+
+public aspect AxiomEntityReferenceSupport {
+    public final int AxiomEntityReference.getType() {
+        return OMNode.ENTITY_REFERENCE_NODE;
+    }
+
+    public final void AxiomEntityReference.internalSerialize(Serializer 
serializer, OMOutputFormat format, boolean cache) throws OutputException {
+        serializer.writeEntityRef(coreGetName());
+    }
+
+    public final String AxiomEntityReference.getName() {
+        return coreGetName();
+    }
+
+    public final String AxiomEntityReference.getReplacementText() {
+        return coreGetReplacementText();
+    }
+}

Propchange: 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/AxiomEntityReferenceSupport.aj
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
 (original)
+++ 
webservices/axiom/trunk/aspects/om-aspects/src/main/java/org/apache/axiom/om/impl/common/factory/AxiomNodeFactorySupport.aj
 Fri Aug 28 21:23:50 2015
@@ -25,6 +25,7 @@ import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDocType;
 import org.apache.axiom.om.OMDocument;
 import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMEntityReference;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
 import org.apache.axiom.om.OMProcessingInstruction;
@@ -37,6 +38,7 @@ import org.apache.axiom.om.impl.common.A
 import org.apache.axiom.om.impl.common.AxiomDocType;
 import org.apache.axiom.om.impl.common.AxiomDocument;
 import org.apache.axiom.om.impl.common.AxiomElement;
+import org.apache.axiom.om.impl.common.AxiomEntityReference;
 import org.apache.axiom.om.impl.common.AxiomProcessingInstruction;
 import org.apache.axiom.om.impl.common.AxiomText;
 import org.apache.axiom.om.impl.common.Policies;
@@ -177,6 +179,20 @@ public aspect AxiomNodeFactorySupport {
         if (parent != null) {
             ((OMContainerEx)parent).addChild(node, fromBuilder);
         }
+        return node;
+    }
+
+    public final OMEntityReference 
AxiomNodeFactory.createOMEntityReference(OMContainer parent, String name) {
+        return createOMEntityReference(parent, name, null, false);
+    }
+
+    public final OMEntityReference 
AxiomNodeFactory.createOMEntityReference(OMContainer parent, String name, 
String replacementText, boolean fromBuilder) {
+        AxiomEntityReference node = 
(AxiomEntityReference)createEntityReference();
+        node.coreSetName(name);
+        node.coreSetReplacementText(replacementText);
+        if (parent != null) {
+            ((OMContainerEx)parent).addChild(node, fromBuilder);
+        }
         return node;
     }
 

Modified: 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
 Fri Aug 28 21:23:50 2015
@@ -40,7 +40,6 @@ import org.w3c.dom.DOMException;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
-import org.w3c.dom.EntityReference;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
 
@@ -102,12 +101,6 @@ public class DocumentImpl extends Parent
         return element;
     }
 
-    public EntityReference createEntityReference(String name) throws 
DOMException {
-        EntityReferenceImpl node = new EntityReferenceImpl(name, null, 
getOMFactory());
-        node.coreSetOwnerDocument(this);
-        return node;
-    }
-
     public DocumentType getDoctype() {
         Iterator it = getChildren();
         while (it.hasNext()) {

Modified: 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/EntityReferenceImpl.java
 Fri Aug 28 21:23:50 2015
@@ -18,87 +18,18 @@
  */
 package org.apache.axiom.om.impl.dom;
 
-import static org.apache.axiom.dom.DOMExceptionTranslator.newDOMException;
-
 import org.apache.axiom.dom.DOMEntityReference;
 import org.apache.axiom.om.OMCloneOptions;
 import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.impl.builder.OMFactoryEx;
 import org.apache.axiom.om.impl.common.AxiomEntityReference;
-import org.apache.axiom.om.impl.common.serializer.push.OutputException;
-import org.apache.axiom.om.impl.common.serializer.push.Serializer;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 
 public class EntityReferenceImpl extends ChildNode implements 
AxiomEntityReference, DOMEntityReference {
-    private final String name;
-    private final String replacementText;
-
-    public EntityReferenceImpl(String name, String replacementText, OMFactory 
factory) {
+    public EntityReferenceImpl(OMFactory factory) {
         super(factory);
-        this.name = name;
-        this.replacementText = replacementText;
-    }
-
-    public int getType() {
-        return OMNode.ENTITY_REFERENCE_NODE;
-    }
-
-    public void internalSerialize(Serializer serializer, OMOutputFormat 
format, boolean cache) throws OutputException {
-        serializer.writeEntityRef(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getReplacementText() {
-        return replacementText;
     }
 
     ChildNode createClone(OMCloneOptions options) {
-        return new EntityReferenceImpl(name, replacementText, getOMFactory());
-    }
-
-    public String getNodeName() {
-        return name;
-    }
-
-    public short getNodeType() {
-        return Node.ENTITY_REFERENCE_NODE;
-    }
-
-    public final boolean hasChildNodes() {
-        throw new UnsupportedOperationException();
-    }
-
-    public Node getFirstChild() {
-        throw new UnsupportedOperationException();
-    }
-
-    public Node getLastChild() {
-        throw new UnsupportedOperationException();
-    }
-
-    public final NodeList getChildNodes() {
-        throw new UnsupportedOperationException();
-    }
-
-    public final Node appendChild(Node newChild) throws DOMException {
-        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
-    }
-
-    public final Node removeChild(Node oldChild) throws DOMException {
-        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
-    }
-
-    public final Node insertBefore(Node newChild, Node refChild) throws 
DOMException {
-        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
-    }
-
-    public final Node replaceChild(Node newChild, Node oldChild) throws 
DOMException {
-        throw newDOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR);
+        return 
(ChildNode)((OMFactoryEx)getOMFactory()).createOMEntityReference(null, 
coreGetName(), coreGetReplacementText(), false);
     }
 }

Modified: 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
 Fri Aug 28 21:23:50 2015
@@ -25,6 +25,7 @@ import org.apache.axiom.core.CoreCDATASe
 import org.apache.axiom.core.CoreCharacterDataNode;
 import org.apache.axiom.core.CoreDocument;
 import org.apache.axiom.core.CoreDocumentTypeDeclaration;
+import org.apache.axiom.core.CoreEntityReference;
 import org.apache.axiom.core.CoreNSAwareAttribute;
 import org.apache.axiom.core.CoreNSAwareElement;
 import org.apache.axiom.core.CoreNSUnawareAttribute;
@@ -37,7 +38,6 @@ import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDocType;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMEntityReference;
 import org.apache.axiom.om.OMHierarchyException;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
@@ -209,18 +209,6 @@ public class OMDOMFactory implements Axi
         return comment;
     }
 
-    public OMEntityReference createOMEntityReference(OMContainer parent, 
String name) {
-        return createOMEntityReference(parent, name, null, false);
-    }
-
-    public OMEntityReference createOMEntityReference(OMContainer parent, 
String name, String replacementText, boolean fromBuilder) {
-        EntityReferenceImpl node = new EntityReferenceImpl(name, 
replacementText, this);
-        if (parent != null) {
-            ((OMContainerEx)parent).addChild(node, fromBuilder);
-        }
-        return node;
-    }
-
     /**
      * This method is intended only to be used by Axiom intenals when merging 
Objects from different
      * Axiom implementations to the DOOM implementation.
@@ -372,4 +360,8 @@ public class OMDOMFactory implements Axi
     public final CoreProcessingInstruction createProcessingInstruction() {
         return new ProcessingInstructionImpl(this);
     }
+
+    public final CoreEntityReference createEntityReference() {
+        return new EntityReferenceImpl(this);
+    }
 }

Modified: 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMEntityReferenceImpl.java
 Fri Aug 28 21:23:50 2015
@@ -19,43 +19,18 @@
 package org.apache.axiom.om.impl.llom;
 
 import org.apache.axiom.om.OMCloneOptions;
-import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNode;
-import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.om.impl.builder.OMFactoryEx;
 import org.apache.axiom.om.impl.common.AxiomContainer;
 import org.apache.axiom.om.impl.common.AxiomEntityReference;
-import org.apache.axiom.om.impl.common.serializer.push.OutputException;
-import org.apache.axiom.om.impl.common.serializer.push.Serializer;
 
 public class OMEntityReferenceImpl extends OMLeafNode implements 
AxiomEntityReference {
-    private final String name;
-    private final String replacementText;
-
-    public OMEntityReferenceImpl(OMContainer parent, String name, String 
replacementText,
-            OMFactory factory, boolean fromBuilder) {
-        super(parent, factory, fromBuilder);
-        this.name = name;
-        this.replacementText = replacementText;
-    }
-
-    public int getType() {
-        return OMNode.ENTITY_REFERENCE_NODE;
-    }
-
-    public void internalSerialize(Serializer serializer, OMOutputFormat 
format, boolean cache) throws OutputException {
-        serializer.writeEntityRef(name);
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getReplacementText() {
-        return replacementText;
+    public OMEntityReferenceImpl(OMFactory factory) {
+        super(factory);
     }
 
     OMNode clone(OMCloneOptions options, AxiomContainer targetParent) {
-        return new OMEntityReferenceImpl(targetParent, name, replacementText, 
getOMFactory(), false);
+        return 
((OMFactoryEx)getOMFactory()).createOMEntityReference(targetParent, 
coreGetName(), coreGetReplacementText(), false);
     }
 }

Modified: 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
URL: 
http://svn.apache.org/viewvc/webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java?rev=1698420&r1=1698419&r2=1698420&view=diff
==============================================================================
--- 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
 (original)
+++ 
webservices/axiom/trunk/implementations/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListImplFactory.java
 Fri Aug 28 21:23:50 2015
@@ -25,6 +25,7 @@ import org.apache.axiom.core.CoreCDATASe
 import org.apache.axiom.core.CoreCharacterDataNode;
 import org.apache.axiom.core.CoreDocument;
 import org.apache.axiom.core.CoreDocumentTypeDeclaration;
+import org.apache.axiom.core.CoreEntityReference;
 import org.apache.axiom.core.CoreNSAwareAttribute;
 import org.apache.axiom.core.CoreNSAwareElement;
 import org.apache.axiom.core.CoreNSUnawareAttribute;
@@ -37,7 +38,6 @@ import org.apache.axiom.om.OMContainer;
 import org.apache.axiom.om.OMDataSource;
 import org.apache.axiom.om.OMDocType;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMEntityReference;
 import org.apache.axiom.om.OMMetaFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMNode;
@@ -215,14 +215,6 @@ public class OMLinkedListImplFactory imp
         return new OMCommentImpl(parent, content, this, fromBuilder);
     }
 
-    public OMEntityReference createOMEntityReference(OMContainer parent, 
String name) {
-        return createOMEntityReference(parent, name, null, false);
-    }
-
-    public OMEntityReference createOMEntityReference(OMContainer parent, 
String name, String replacementText, boolean fromBuilder) {
-        return new OMEntityReferenceImpl(parent, name, replacementText, this, 
fromBuilder);
-    }
-
     /**
      * This method is intended only to be used by Axiom intenals when merging 
Objects from different
      * Axiom implementations to the LLOM implementation.
@@ -376,4 +368,8 @@ public class OMLinkedListImplFactory imp
     public CoreProcessingInstruction createProcessingInstruction() {
         return new OMProcessingInstructionImpl(this);
     }
+
+    public final CoreEntityReference createEntityReference() {
+        return new OMEntityReferenceImpl(this);
+    }
 }


Reply via email to