You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2009/03/06 09:22:26 UTC

svn commit: r750807 - in /webservices/commons/trunk/modules/axiom/modules: axiom-api/src/main/java/org/apache/axiom/om/ axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/ axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/

Author: veithen
Date: Fri Mar  6 08:22:25 2009
New Revision: 750807

URL: http://svn.apache.org/viewvc?rev=750807&view=rev
Log:
Updated Javadoc for changes in r749780.

Modified:
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java
    webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
    webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java
    webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListMetaFactory.java

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java?rev=750807&r1=750806&r2=750807&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMAbstractFactory.java Fri Mar  6 08:22:25 2009
@@ -23,47 +23,22 @@
 import org.apache.axiom.soap.SOAPFactory;
 
 /**
- * Provides default instances for plain XML, SOAP 1.1 and SOAP 1.2 object model factories.
- * 
- * <p>The implementation class for each object model type is determined by a specific
- * system property. If the system property is not set, a default implementation class
- * is chosen. The following table summarizes the system properties and default implementation
- * used:</p>
- * <table border="1">
- *   <tr>
- *     <th>Object model</th>
- *     <th>Method</th>
- *     <th>System property</th>
- *     <th>Default implementation</th>
- *   </tr>
- *   <tr>
- *     <td>Plain XML</td>
- *     <td>{@link #getOMFactory()}</td>
- *     <td><tt>om.factory</tt></td>
- *     <td>{@link org.apache.axiom.om.impl.llom.factory.OMLinkedListImplFactory}</td>
- *   </tr>
- *   <tr>
- *     <td>SOAP 1.1</td>
- *     <td>{@link #getSOAP11Factory()}</td>
- *     <td><tt>soap11.factory</tt></td>
- *     <td>{@link org.apache.axiom.soap.impl.llom.soap11.SOAP11Factory}</td>
- *   </tr>
- *   <tr>
- *     <td>SOAP 1.2</td>
- *     <td>{@link #getSOAP12Factory()}</td>
- *     <td><tt>soap12.factory</tt></td>
- *     <td>{@link org.apache.axiom.soap.impl.llom.soap12.SOAP12Factory}</td>
- *   </tr>
- * </table>
- * <p>The methods in this class assume that {@link OMFactory} instances are stateless and
- * return the same instance on every invocation, i.e. the factory for each OM type is instantiated
- * only once. Configuring the system properties with factory implementation that are not
- * stateless will lead to unexpected results. It should be noted that the factories provided
- * by the DOOM implementation are not stateless and should therefore never be used as default
- * factories.</p>
- * <p>Each method in this class uses {@link System#getProperty(String)} to determine the value of
- * the relevant system property. A {@link SecurityException} thrown by this method is simply ignored
- * and the default factory implementation is used.</p> 
+ * Provides default instances for object model and meta factories.
+ * <p>
+ * The {@link #getMetaFactory()} method returns the default {@link OMMetaFactory} instance.
+ * The implementation class is determined by the <code>org.apache.axiom.om.OMMetaFactory</code>
+ * system property. If this property is not set, the meta factory for the LLOM implementation
+ * is used.
+ * <p>
+ * The {@link #getOMFactory()}, {@link #getSOAP11Factory()} and {@link #getSOAP12Factory()}
+ * methods return default instances for plain XML, SOAP 1.1 and SOAP 1.2 object model factories.
+ * They are convenience methods calling {@link #getMetaFactory()} and then delegating to the
+ * returned {@link OMMetaFactory}.
+ * <p>
+ * Note that while {@link #getMetaFactory()} always returns the same instance, the other methods
+ * may return new instances on every invocation, depending on the {@link OMMetaFactory}
+ * implementation.
+ * <p>
  */
 public class OMAbstractFactory {
     public static final String META_FACTORY_NAME_PROPERTY = "org.apache.axiom.om.OMMetaFactory";
@@ -76,7 +51,14 @@
     private OMAbstractFactory() {}
 
     /**
-     * Get the default meta factory instance.
+     * Get the default meta factory instance. The implementation class is determined by the
+     * <code>org.apache.axiom.om.OMMetaFactory</code> system property. If this property is not
+     * set, the meta factory for the LLOM implementation is returned.
+     * <p>
+     * This method uses {@link System#getProperty(String)} to determine the value of
+     * the <code>org.apache.axiom.om.OMMetaFactory</code> system property. A
+     * {@link SecurityException} thrown by this method is simply ignored
+     * and the default factory implementation is used.
      *
      * @return the default OM factory instance
      * @throws OMException if the factory's implementation class can't be found

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java?rev=750807&r1=750806&r2=750807&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMMetaFactory.java Fri Mar  6 08:22:25 2009
@@ -22,8 +22,9 @@
 import org.apache.axiom.soap.SOAPFactory;
 
 /**
- * Interface encapsulating a particular object model.
- * It provides instances for plain XML, SOAP 1.1 and SOAP 1.2 object model factories for the
+ * Object model meta factory.
+ * This interface encapsulates a particular object model and provides instances
+ * for plain XML, SOAP 1.1 and SOAP 1.2 object model factories for the
  * given object model implementation. Currently the two OM implementations provided by
  * Axiom are LLOM (linked list) and DOM.
  * <p>

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java?rev=750807&r1=750806&r2=750807&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java Fri Mar  6 08:22:25 2009
@@ -19,8 +19,6 @@
 
 package org.apache.axiom.om.impl.dom.factory;
 
-
-import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMComment;
 import org.apache.axiom.om.OMContainer;
@@ -71,9 +69,6 @@
  *       to reset the {@link DocumentImpl} instance before processing the next document.</li>
  *   <li>Instances of this class are not thread safe and using a single instance concurrently
  *       will lead to undefined results.</li>
- *   <li>Since instances are not stateless, this class (as well as its subclasses) must
- *       not be used in conjunction with {@link OMAbstractFactory}. In particular,
- *       the <tt>om.factory</tt> system property must not be set to this class.</li> 
  * </ul>
  */
 public class OMDOMFactory implements OMFactory {

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java?rev=750807&r1=750806&r2=750807&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMMetaFactory.java Fri Mar  6 08:22:25 2009
@@ -26,7 +26,7 @@
 import org.apache.axiom.soap.impl.dom.soap12.SOAP12Factory;
 
 /**
- * Class encapsulating the DOOM implementation.
+ * Meta factory for the DOOM implementation.
  * <p>
  * As explained in {@link OMDOMFactory}, OM factories for DOOM are not stateless.
  * Therefore {@link #getOMFactory()}, {@link #getSOAP11Factory()} and

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListMetaFactory.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListMetaFactory.java?rev=750807&r1=750806&r2=750807&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListMetaFactory.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/factory/OMLinkedListMetaFactory.java Fri Mar  6 08:22:25 2009
@@ -26,7 +26,7 @@
 import org.apache.axiom.soap.impl.llom.soap12.SOAP12Factory;
 
 /**
- * Class encapsulating the linked list OM implementation.
+ * Meta factory for the linked list OM implementation.
  * <p>
  * Since all OM factories for LLOM are stateless, {@link #getOMFactory()},
  * {@link #getSOAP11Factory()} and {@link #getSOAP12Factory()} will return the