You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2006/09/06 23:49:04 UTC

svn commit: r440886 - in /incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax: FOMExtensibleElement.java FOMFactory.java

Author: jmsnell
Date: Wed Sep  6 14:49:03 2006
New Revision: 440886

URL: http://svn.apache.org/viewvc?view=rev&rev=440886
Log:
Make Factory.newElement() return an instance of FOMExtensibleElement to make 
extension support easier.. e.g., we can now do:

  ExtensibleElement element = (ExtensibleElement)factory.newElement(...)

Before, factory.newElement(...) would return an instance of Element that did not
implement the ExtensibleElement interface, making it harder to add extension elements
dynamically

Modified:
    incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java
    incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java

Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java?view=diff&rev=440886&r1=440885&r2=440886
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java Wed Sep  6 14:49:03 2006
@@ -32,9 +32,11 @@
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.OMXMLParserWrapper;
 
-public abstract class FOMExtensibleElement 
+public class FOMExtensibleElement 
   extends FOMElement 
   implements ExtensibleElement {
+
+  private static final long serialVersionUID = -1652430686161947531L;
 
   public FOMExtensibleElement(QName qname) {
     super(qname);

Modified: incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java?view=diff&rev=440886&r1=440885&r2=440886
==============================================================================
--- incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java (original)
+++ incubator/abdera/java/trunk/parser/src/main/java/org/apache/abdera/parser/stax/FOMFactory.java Wed Sep  6 14:49:03 2006
@@ -402,7 +402,7 @@
   public Element newElement(
     QName qname, 
     Base parent) {
-      return new FOMElement(qname, (OMContainer)parent,this);
+      return new FOMExtensibleElement(qname, (OMContainer)parent,this);
   }
   
   public Element newExtensionElement(QName qname) {
@@ -450,9 +450,9 @@
     }
     if (element == null) {
       if (parserWrapper == null) {
-        element = new FOMElement(qname, parent, this);
+        element = new FOMExtensibleElement(qname, parent, this);
       } else {
-        element = new FOMElement(qname, parent, this, parserWrapper);
+        element = new FOMExtensibleElement(qname, parent, this, parserWrapper);
       }
     }
     return element;
@@ -637,7 +637,7 @@
     QName qname,
     OMContainer parent,
     OMXMLParserWrapper parserWrapper) {
-      return new FOMElement(qname,parent,this,parserWrapper);
+      return new FOMExtensibleElement(qname,parent,this,parserWrapper);
   }
   
   @SuppressWarnings("unchecked")
@@ -773,9 +773,9 @@
     } else if (COLLECTION.equals(qname)) {
       element = (OMElement) newCollection(qname, parent, builder);
     } else if (NAME.equals(qname)) {
-      element = (OMElement) newElement(qname, parent, builder);
+      element = (OMElement) new FOMElement(qname,parent,this,builder);
     } else if (EMAIL.equals(qname)) {
-      element = (OMElement) newElement(qname, parent, builder);
+      element = (OMElement) new FOMElement(qname,parent,this,builder);
     } else if (URI.equals(qname)) {
       element = (OMElement) newURIElement(qname, parent, builder);
     } else if (CONTROL.equals(qname)) {