You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2008/07/28 16:30:24 UTC

svn commit: r680370 [18/22] - in /tuscany/java/sdo: distribution/src/main/assembly/ distribution/src/main/release/bin/ distribution/src/main/release/bin/samples/ impl/ impl/src/main/java/org/apache/tuscany/sdo/helper/ impl/src/main/java/org/apache/tusc...

Modified: tuscany/java/sdo/java5tools/src/main/resources/META-INF/README.txt
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/java5tools/src/main/resources/META-INF/README.txt?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/java5tools/src/main/resources/META-INF/README.txt (original)
+++ tuscany/java/sdo/java5tools/src/main/resources/META-INF/README.txt Mon Jul 28 07:30:12 2008
@@ -1,5 +1,5 @@
-Apache Tuscany 1.0-incubating build (July 2007)
-===============================================
+Apache Tuscany 1.1-incubating build (April 2008)
+================================================
 
 http://incubator.apache.org/tuscany/
 

Modified: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java (original)
+++ tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java Mon Jul 28 07:30:12 2008
@@ -1,452 +1,452 @@
-/**
- *
- *  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.tuscany.sdo.api;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.util.List;
-import java.util.Map;
-
-import commonj.sdo.helper.XSDHelper;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * This interface provides helper functions which are not included in the SDO specification itself.
- * Use of the functions in this interface is recommended, instead of resorting to low-level 
- * implementation-specific APIs.
- */
-public interface SDOHelper
-{
-	final int UNBOUNDED = -1; //return value from getUpperBound() when maxOccurs="unbounded"
-	final int UNSPECIFIED = -2; //return value from getUpperBound() for global property
-	
-  /**
-   * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use
-   * of a new TypeHelper instance to provide scope for type definitions.
-   * @return the new HelperContext
-   * @see #createHelperContext(boolean)
-   */
-  public HelperContext createHelperContext();
-
-  /**
-   * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use
-   * of a new TypeHelper instance to provide scope for type definitions.
-   * @param options Map of default XMLOptions
-   * @return the new HelperContext
-   * @see #createHelperContext(boolean)
-   */
-  public HelperContext createHelperContext(boolean extensibleNamespaces, Map options);
-  
-  /**
-   * Create a HelperContext to provide access to a consistent set of Helpers which make use of a new
-   * TypeHelper instance to provide scope for type definitions.
-   * @param extensibleNamespaces true if the contents of a namespaces should be incrementally modifiable over time
-   * @return the new HelperContext
-   */
-  public HelperContext createHelperContext(boolean extensibleNamespaces);
-  
-  /**
-   * create a non-extensible HelperContext with default load/save options
-   * @param options default load/save options from XMLOptions
-   * @return the new HelperContext
-   */
-  public HelperContext createHelperContext(Map options);
-
-  /**
-   * Creates an instance of a data type from the specified string.
-   * @param dataType a Type, for which isDataType() returns true, to instantiate.
-   * @param literal the string value of the dataType.
-   * @return an instance of the dataType.
-   * @see #convertToString(Type, Object)
-   */
-  public Object createFromString(Type dataType, String literal);
-
-  /**
-   * Converts an instance of a data type to a string literal representation.
-   * @param dataType the Type, for which isDataType() returns true, of the value to convert.
-   * @param value a value of the dataType.
-   * @return the string literal representation of the value.
-   * @see #createFromString(Type, String)
-   */
-  public String convertToString(Type dataType, Object value);
-
-  /**
-   * Create a DataObject wrapper for an instance of the specified dataType.
-   * This method is typically used to create a root object that can be passed to the XMLHelper.save() 
-   * method when the root element to be serialized is an XMLSchema simpleType.
-   * @param dataType a Type for which isDataType() returns true.
-   * @param value the instance value.
-   * @return a DataObject wrapper for the specified value.
-   */
-  public DataObject createDataTypeWrapper(Type dataType, Object value);
-
-  /**
-   * Get the SDO built-in type corresponding to the specified XSD type in the XML Schema
-   * namespace ("http://www.w3.org/2001/XMLSchema").
-   * @param xsdType a type name in the XML Schema namespace.
-   * @return the SDO built-in Type corresponding to the specified XSD type.
-   */
-  public Type getXSDSDOType(String xsdType);
-
-  /**
-   * Gets the Sequence corresponding to the specified substitutable Property of the specified DataObject.
-   * @param dataObject the data object.
-   * @param head a substitution group head property.
-   * @return the Sequence corresponding to the specified substitutable Property of the specified DataObject or
-   *         null if the specified Property isn't a substitution head.
-   */
-  public Sequence getSubstitutionValues(DataObject dataObject, Property head);
-
-  /**
-   * Get the SDO built-in type corresponding to the specified Java instanceClass.
-   * @param javaClass the Java instanceClass of the type.
-   * @return the SDO built-in Type corresponding to the specified instanceClass.
-   */
-  public Type getJavaSDOType(Class javaClass);
-
-  /**
-   * Return whether at least one value is required for a valid instance of the specified property.
-   * @param the property in question.
-   * @return true if the property is required.
-   */
-  public boolean isRequired(Property property);
-
-  /**
-   * Return the upper bound of the specified property or -1 if unbounded.
-   * @param the property in question.
-   * @return the upper bound.
-   */
-  public int getUpperBound(Property property);
-
-  /**
-   * Return the lower bound of the specified property or 1 by default
-   * @param the property in question.
-   * @return the lower bound.
-   */
-  public int getLowerBound(Property property);
-  
-  /**
-   * Return Enumeration facet 
-   * @param type
-   * @return List of enum facets in a Type
-   *///Amita
-  public List getEnumerationFacet(Type type);
-  
-  /**
-   * Return Pattern facet 
-   * @param type
-   * @return List of pattern facets in a Type
-   *///Amita
-  public List getPatternFacet(Type type);
-
-  /**
-   * Returns whether the Property is many-valued given the specified context.
-   * @param property The Property in question
-   * @param context The context to check whether the specified Property is many-valued
-   * @return true if the Property is many-valued given the specified context.
-   */
-  public boolean isMany(Property property, DataObject context);
-
-  /**
-   * Create an empty data graph.
-   * @return the new data graph instance.
-   */
-  public DataGraph createDataGraph();
-
-  /**
-   * Set the root object of a data graph.
-   * @param dataGraph the data graph in which to set the root object.
-   * @param rootObject the root object.
-   */
-  public void setRootObject(DataGraph dataGraph, DataObject rootObject);
-
-  /**
-   * Load a serialized data graph from the specified insputStream.
-   * 
-   * @param inputStream the inputStream of the data graph.
-   * @param options loader control options, or null.
-   * @param hc the HelperContext in which to register deserialized Types and to find Types when
-   *              creating DataObject instances, or null for default HelperContext.
-   * @return the de-serialized data graph.
-   * @throws IOException
-   */
-  public DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException;
-  
-  /**
-   * Serialize the specified data graph to the specified outputStream.
-   * @param dataGraph the data graph to save.
-   * @param outputStream the outputStream for the data graph.
-   * @param options serializer control options, or null.
-   * @throws IOException
-   */
-  public void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException;
-
-  /**
-   * Registers the specified {@link Type type}(s) to be serialized along with
-   * the {@link DataObject data object}(s) in the graph. For example, the list of types returned from 
-   * {@link TypeHelper#define} can be registered with this method, allowing deserialization of
-   * instances of a dynamically defined model.
-   * @param dataGraph the DataGraph in which to register the specified type(s).
-   * @param types a list containing the type(s) to be registered (TBD or null to automatically register all 
-   * types used by the objects in the DataGraph).
-   */
-  public void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/types);
-  
-  /**
-   * Create a new cross scope CopyHelper.
-   * @param hc the HelperContext containing the Types to use to create the copy objects.
-   * @return the new CopyHelper.
-   */
-  public CopyHelper createCrossScopeCopyHelper(HelperContext targetScope);
-
-  
-  /**
-   * Create a new XMLStreamHelper, with visibility to types in the specified HelperContext scope.
-   * @param hc the HelperContext to use for locating types.
-   * @return the new XMLStreamHelper.
-   */
-  public XMLStreamHelper createXMLStreamHelper(HelperContext hc);
-  
-  /**
-   * Create a new ObjectInputStream in the specifice HelperContext scope.
-   * @param inputStream the inputStream with which to create the ObjectInputStream.
-   * @param helperContext the HelperContext scope.
-   * @return the new ObjectInputStream.
-   */
-  public ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException;
-
-  /**
-   * Create a new ObjectOutputStream in the specifice HelperContext scope.
-   * @param outputStream the outputStream with which to create the ObjectOutputStream.
-   * @param helperContext the HelperContext scope.
-   * @return the new ObjectOutputStream.
-   */
-  public ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException;
-  
-  /**
-   * Gets all of the types associated with a uri.
-   * @param hc the HelperContext to use for locating types.
-   * @param uri the URI of the Types
-   * @return a List containing instances of Type, null if uri is not found.
-   */
-  public List getTypes(HelperContext hc, String uri);
-
-  /**
-   * Gets the open content subset of the specified DataObject's instance properties.
-   * @param dataObject the DataObject instance
-   * @return a List containing any open content properties of the DataObject
-   */
-  public List getOpenContentProperties(DataObject dataObject);
-
-  /**
-   * Return true if the specified type is a special DocumentRoot Type.
-   * @param type the Type in question
-   * @return true if type is a DocumentRoot
-   */
-  public boolean isDocumentRoot(Type type);
-  
-  /**
-   * Return an XPath from the containment root to the specified DataObject.
-   * @param dataObject a DataObject
-   * @return the XPath from the containment root.
-   */
-  public String getXPath(DataObject dataObject);
-  
-  /**
-   * Gets a MetaDataBuilder which can be used to programatically create SDO Types and Properties.
-   * @return a MetaDataBuilder instance
-   */
-  public MetaDataBuilder getMetaDataBuilder();
-  
-  /**
-   * An experimental interface,  subject to possible change that permits
-   * registration of an event listener with a DataObject instance
-   * @param dob DataObject
-   * @param listener EventListener
-   */
-  public void addChangeListener(DataObject dob, EventListener listener);
-
-  /**
-   * An experimental interface,  subject to possible change that permits
-   * deregistration of an event listener with a DataObject instance
-   * @param dob DataObject
-   * @param listener EventListener
-   */
-  public void removeChangeListener(DataObject dob, EventListener listener);
-
-  /**
-   * This interface provides methods which can be used to programatically create SDO Types and Properties.
-   * It provides a lower level and more efficient API then the DataObject-based one of TypeHelper.define().
-   */
- 
-  public interface MetaDataBuilder
-  {
-
-    /**
-     * Create a Type in the specified TypeHelper scope.
-     * @return the new Type.
-     */
-    public Type createType(HelperContext hc, String uri, String name, boolean isDataType);
-
-    /**
-     * Add a baseType to the specified type.
-     */
-    public void addBaseType(Type type, Type baseType);
-
-    /**
-     * Add an aliasName to the specified type.
-     */
-    public void addAliasName(Type type, String aliasName);
-
-    /**
-     * Set the isOpen value of the specified type.
-     */
-    public void setOpen(Type type, boolean isOpen);
-
-    /**
-     * Set the isSequenced value of the specified type.
-     */
-    public void setSequenced(Type type, boolean isSequenced);
-
-    /**
-     * Set the isAbstract value of the specified type.
-     */
-    public void setAbstract(Type type, boolean isAbstract);
-
-    /**
-     * Set the isAbstract value of the specified type.
-     */
-    public void setJavaClassName(Type type, String javaClassName);
-
-    /**
-     * Create a new property in the specified containingType.
-     */
-    public Property createProperty(Type containingType, String name, Type propertyType);
-
-    /**
-     * Set a SDO property to become an XSD element or attribute
-     */
-    public void setPropertyXMLKind(Property property, boolean isXmlElement);
-
-    /**
-     * Create a new open content property in the specified TypeHelper scope.
-     */
-    public Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type);
-
-    /**
-     * Add an aliasName to the specified property.
-     */
-    public void addAliasName(Property property, String aliasName);
-
-    /**
-     * Set the isMany value of the specified property.
-     */
-    public void setMany(Property property, boolean isMany);
-
-    /**
-     * Set the isContainment value of the specified property.
-     */
-    public void setContainment(Property property, boolean isContainment);
-
-    /**
-     * Set the default value of the specified property.
-     */
-    public void setDefault(Property property, String defaultValue);
-
-    /**
-     * Set the isReadOnly value of the specified property.
-     */
-    public void setReadOnly(Property property, boolean isReadOnly);
-
-    /**
-     * Set the opposite value of the specified property.
-     */
-    public void setOpposite(Property property, Property opposite);
-
-    /**
-     * Add an instance property to the specified type.
-     */
-    public void addTypeInstanceProperty(Type definedType, Property instanceProperty, Object value);
-
-    /**
-     * Add anf instance property to the specified property.
-     */
-    public void addPropertyInstanceProperty(Property definedProperty, Property instanceProperty, Object value);
-  }
-
-  /**
-   * This interface contains options that can be passed to the XMLHelper load() and save() methods.
-   */
-  public interface XMLOptions
-  {
-    /**
-     * Line Break String such as "\n", "\r\n", "\r" and "", absence/null is the default (line.separator System Property)
-     */
-    final String XML_SAVE_LINE_BREAK = "LineBreak";
-
-    /**
-     * Indent String such as "\t", "", etc. absence/null is the default ("  ")
-     */
-    final String XML_SAVE_INDENT = "indent";
-
-    /**
-     * Margin String such as " ", "\t\t", etc. Absence/null/"" is the default (no margin)
-     */
-    final String XML_SAVE_MARGIN = "margin";
-
-    /**
-     * Attribute formatting that exceeds the specified width as Integer will cause a line break so that formatting will continue indented on the next line
-     */
-    final String XML_SAVE_LINE_WIDTH = "LINE_WIDTH";
-
-    /**
-     * Boolean to save a doctype declaration 
-     */
-    final String XML_SAVE_DOCTYPE = "SAVE_DOCTYPE";
-
-    /**
-     * Boolean to process the schemaLocation/noNamespaceSchemaLocation attributes occurring in the instance document to {@link XSDHelper#define convert XSD(s) to Types} 
-     */
-    final String XML_LOAD_SCHEMA = "ProcessSchemaLocations";
-
-    /**
-     * To tolerate malformed elements and attributes (default unless set by System property XML.load.form.lax). 0 not to.  
-     */
-    final String XML_LOAD_LAX_FORM = "load malform";
-    
-    /**
-     * Allows you to record unknown features during deserialization/loading. 
-     * The default is Boolean.FALSE unless set to Boolean.TRUE explicitly. 
-     */
-    final String XML_LOAD_UNKNOWN_PROPERTIES = "load unknown properties";
-  }
-
-}
+/**
+ *
+ *  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.tuscany.sdo.api;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+
+import commonj.sdo.helper.XSDHelper;
+
+import commonj.sdo.DataGraph;
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Sequence;
+import commonj.sdo.Type;
+import commonj.sdo.helper.CopyHelper;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.TypeHelper;
+
+/**
+ * This interface provides helper functions which are not included in the SDO specification itself.
+ * Use of the functions in this interface is recommended, instead of resorting to low-level 
+ * implementation-specific APIs.
+ */
+public interface SDOHelper
+{
+	final int UNBOUNDED = -1; //return value from getUpperBound() when maxOccurs="unbounded"
+	final int UNSPECIFIED = -2; //return value from getUpperBound() for global property
+	
+  /**
+   * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use
+   * of a new TypeHelper instance to provide scope for type definitions.
+   * @return the new HelperContext
+   * @see #createHelperContext(boolean)
+   */
+  public HelperContext createHelperContext();
+
+  /**
+   * Create a non-extensible HelperContext to provide access to a consistent set of Helpers which make use
+   * of a new TypeHelper instance to provide scope for type definitions.
+   * @param options Map of default XMLOptions
+   * @return the new HelperContext
+   * @see #createHelperContext(boolean)
+   */
+  public HelperContext createHelperContext(boolean extensibleNamespaces, Map options);
+  
+  /**
+   * Create a HelperContext to provide access to a consistent set of Helpers which make use of a new
+   * TypeHelper instance to provide scope for type definitions.
+   * @param extensibleNamespaces true if the contents of a namespaces should be incrementally modifiable over time
+   * @return the new HelperContext
+   */
+  public HelperContext createHelperContext(boolean extensibleNamespaces);
+  
+  /**
+   * create a non-extensible HelperContext with default load/save options
+   * @param options default load/save options from XMLOptions
+   * @return the new HelperContext
+   */
+  public HelperContext createHelperContext(Map options);
+
+  /**
+   * Creates an instance of a data type from the specified string.
+   * @param dataType a Type, for which isDataType() returns true, to instantiate.
+   * @param literal the string value of the dataType.
+   * @return an instance of the dataType.
+   * @see #convertToString(Type, Object)
+   */
+  public Object createFromString(Type dataType, String literal);
+
+  /**
+   * Converts an instance of a data type to a string literal representation.
+   * @param dataType the Type, for which isDataType() returns true, of the value to convert.
+   * @param value a value of the dataType.
+   * @return the string literal representation of the value.
+   * @see #createFromString(Type, String)
+   */
+  public String convertToString(Type dataType, Object value);
+
+  /**
+   * Create a DataObject wrapper for an instance of the specified dataType.
+   * This method is typically used to create a root object that can be passed to the XMLHelper.save() 
+   * method when the root element to be serialized is an XMLSchema simpleType.
+   * @param dataType a Type for which isDataType() returns true.
+   * @param value the instance value.
+   * @return a DataObject wrapper for the specified value.
+   */
+  public DataObject createDataTypeWrapper(Type dataType, Object value);
+
+  /**
+   * Get the SDO built-in type corresponding to the specified XSD type in the XML Schema
+   * namespace ("http://www.w3.org/2001/XMLSchema").
+   * @param xsdType a type name in the XML Schema namespace.
+   * @return the SDO built-in Type corresponding to the specified XSD type.
+   */
+  public Type getXSDSDOType(String xsdType);
+
+  /**
+   * Gets the Sequence corresponding to the specified substitutable Property of the specified DataObject.
+   * @param dataObject the data object.
+   * @param head a substitution group head property.
+   * @return the Sequence corresponding to the specified substitutable Property of the specified DataObject or
+   *         null if the specified Property isn't a substitution head.
+   */
+  public Sequence getSubstitutionValues(DataObject dataObject, Property head);
+
+  /**
+   * Get the SDO built-in type corresponding to the specified Java instanceClass.
+   * @param javaClass the Java instanceClass of the type.
+   * @return the SDO built-in Type corresponding to the specified instanceClass.
+   */
+  public Type getJavaSDOType(Class javaClass);
+
+  /**
+   * Return whether at least one value is required for a valid instance of the specified property.
+   * @param the property in question.
+   * @return true if the property is required.
+   */
+  public boolean isRequired(Property property);
+
+  /**
+   * Return the upper bound of the specified property or -1 if unbounded.
+   * @param the property in question.
+   * @return the upper bound.
+   */
+  public int getUpperBound(Property property);
+
+  /**
+   * Return the lower bound of the specified property or 1 by default
+   * @param the property in question.
+   * @return the lower bound.
+   */
+  public int getLowerBound(Property property);
+  
+  /**
+   * Return Enumeration facet 
+   * @param type
+   * @return List of enum facets in a Type
+   *///Amita
+  public List getEnumerationFacet(Type type);
+  
+  /**
+   * Return Pattern facet 
+   * @param type
+   * @return List of pattern facets in a Type
+   *///Amita
+  public List getPatternFacet(Type type);
+
+  /**
+   * Returns whether the Property is many-valued given the specified context.
+   * @param property The Property in question
+   * @param context The context to check whether the specified Property is many-valued
+   * @return true if the Property is many-valued given the specified context.
+   */
+  public boolean isMany(Property property, DataObject context);
+
+  /**
+   * Create an empty data graph.
+   * @return the new data graph instance.
+   */
+  public DataGraph createDataGraph();
+
+  /**
+   * Set the root object of a data graph.
+   * @param dataGraph the data graph in which to set the root object.
+   * @param rootObject the root object.
+   */
+  public void setRootObject(DataGraph dataGraph, DataObject rootObject);
+
+  /**
+   * Load a serialized data graph from the specified insputStream.
+   * 
+   * @param inputStream the inputStream of the data graph.
+   * @param options loader control options, or null.
+   * @param hc the HelperContext in which to register deserialized Types and to find Types when
+   *              creating DataObject instances, or null for default HelperContext.
+   * @return the de-serialized data graph.
+   * @throws IOException
+   */
+  public DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException;
+  
+  /**
+   * Serialize the specified data graph to the specified outputStream.
+   * @param dataGraph the data graph to save.
+   * @param outputStream the outputStream for the data graph.
+   * @param options serializer control options, or null.
+   * @throws IOException
+   */
+  public void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException;
+
+  /**
+   * Registers the specified {@link Type type}(s) to be serialized along with
+   * the {@link DataObject data object}(s) in the graph. For example, the list of types returned from 
+   * {@link TypeHelper#define} can be registered with this method, allowing deserialization of
+   * instances of a dynamically defined model.
+   * @param dataGraph the DataGraph in which to register the specified type(s).
+   * @param types a list containing the type(s) to be registered (TBD or null to automatically register all 
+   * types used by the objects in the DataGraph).
+   */
+  public void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/types);
+  
+  /**
+   * Create a new cross scope CopyHelper.
+   * @param hc the HelperContext containing the Types to use to create the copy objects.
+   * @return the new CopyHelper.
+   */
+  public CopyHelper createCrossScopeCopyHelper(HelperContext targetScope);
+
+  
+  /**
+   * Create a new XMLStreamHelper, with visibility to types in the specified HelperContext scope.
+   * @param hc the HelperContext to use for locating types.
+   * @return the new XMLStreamHelper.
+   */
+  public XMLStreamHelper createXMLStreamHelper(HelperContext hc);
+  
+  /**
+   * Create a new ObjectInputStream in the specifice HelperContext scope.
+   * @param inputStream the inputStream with which to create the ObjectInputStream.
+   * @param helperContext the HelperContext scope.
+   * @return the new ObjectInputStream.
+   */
+  public ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException;
+
+  /**
+   * Create a new ObjectOutputStream in the specifice HelperContext scope.
+   * @param outputStream the outputStream with which to create the ObjectOutputStream.
+   * @param helperContext the HelperContext scope.
+   * @return the new ObjectOutputStream.
+   */
+  public ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException;
+  
+  /**
+   * Gets all of the types associated with a uri.
+   * @param hc the HelperContext to use for locating types.
+   * @param uri the URI of the Types
+   * @return a List containing instances of Type, null if uri is not found.
+   */
+  public List getTypes(HelperContext hc, String uri);
+
+  /**
+   * Gets the open content subset of the specified DataObject's instance properties.
+   * @param dataObject the DataObject instance
+   * @return a List containing any open content properties of the DataObject
+   */
+  public List getOpenContentProperties(DataObject dataObject);
+
+  /**
+   * Return true if the specified type is a special DocumentRoot Type.
+   * @param type the Type in question
+   * @return true if type is a DocumentRoot
+   */
+  public boolean isDocumentRoot(Type type);
+  
+  /**
+   * Return an XPath from the containment root to the specified DataObject.
+   * @param dataObject a DataObject
+   * @return the XPath from the containment root.
+   */
+  public String getXPath(DataObject dataObject);
+  
+  /**
+   * Gets a MetaDataBuilder which can be used to programatically create SDO Types and Properties.
+   * @return a MetaDataBuilder instance
+   */
+  public MetaDataBuilder getMetaDataBuilder();
+  
+  /**
+   * An experimental interface,  subject to possible change that permits
+   * registration of an event listener with a DataObject instance
+   * @param dob DataObject
+   * @param listener EventListener
+   */
+  public void addChangeListener(DataObject dob, EventListener listener);
+
+  /**
+   * An experimental interface,  subject to possible change that permits
+   * deregistration of an event listener with a DataObject instance
+   * @param dob DataObject
+   * @param listener EventListener
+   */
+  public void removeChangeListener(DataObject dob, EventListener listener);
+
+  /**
+   * This interface provides methods which can be used to programatically create SDO Types and Properties.
+   * It provides a lower level and more efficient API then the DataObject-based one of TypeHelper.define().
+   */
+ 
+  public interface MetaDataBuilder
+  {
+
+    /**
+     * Create a Type in the specified TypeHelper scope.
+     * @return the new Type.
+     */
+    public Type createType(HelperContext hc, String uri, String name, boolean isDataType);
+
+    /**
+     * Add a baseType to the specified type.
+     */
+    public void addBaseType(Type type, Type baseType);
+
+    /**
+     * Add an aliasName to the specified type.
+     */
+    public void addAliasName(Type type, String aliasName);
+
+    /**
+     * Set the isOpen value of the specified type.
+     */
+    public void setOpen(Type type, boolean isOpen);
+
+    /**
+     * Set the isSequenced value of the specified type.
+     */
+    public void setSequenced(Type type, boolean isSequenced);
+
+    /**
+     * Set the isAbstract value of the specified type.
+     */
+    public void setAbstract(Type type, boolean isAbstract);
+
+    /**
+     * Set the isAbstract value of the specified type.
+     */
+    public void setJavaClassName(Type type, String javaClassName);
+
+    /**
+     * Create a new property in the specified containingType.
+     */
+    public Property createProperty(Type containingType, String name, Type propertyType);
+
+    /**
+     * Set a SDO property to become an XSD element or attribute
+     */
+    public void setPropertyXMLKind(Property property, boolean isXmlElement);
+
+    /**
+     * Create a new open content property in the specified TypeHelper scope.
+     */
+    public Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type);
+
+    /**
+     * Add an aliasName to the specified property.
+     */
+    public void addAliasName(Property property, String aliasName);
+
+    /**
+     * Set the isMany value of the specified property.
+     */
+    public void setMany(Property property, boolean isMany);
+
+    /**
+     * Set the isContainment value of the specified property.
+     */
+    public void setContainment(Property property, boolean isContainment);
+
+    /**
+     * Set the default value of the specified property.
+     */
+    public void setDefault(Property property, String defaultValue);
+
+    /**
+     * Set the isReadOnly value of the specified property.
+     */
+    public void setReadOnly(Property property, boolean isReadOnly);
+
+    /**
+     * Set the opposite value of the specified property.
+     */
+    public void setOpposite(Property property, Property opposite);
+
+    /**
+     * Add an instance property to the specified type.
+     */
+    public void addTypeInstanceProperty(Type definedType, Property instanceProperty, Object value);
+
+    /**
+     * Add anf instance property to the specified property.
+     */
+    public void addPropertyInstanceProperty(Property definedProperty, Property instanceProperty, Object value);
+  }
+
+  /**
+   * This interface contains options that can be passed to the XMLHelper load() and save() methods.
+   */
+  public interface XMLOptions
+  {
+    /**
+     * Line Break String such as "\n", "\r\n", "\r" and "", absence/null is the default (line.separator System Property)
+     */
+    final String XML_SAVE_LINE_BREAK = "LineBreak";
+
+    /**
+     * Indent String such as "\t", "", etc. absence/null is the default ("  ")
+     */
+    final String XML_SAVE_INDENT = "indent";
+
+    /**
+     * Margin String such as " ", "\t\t", etc. Absence/null/"" is the default (no margin)
+     */
+    final String XML_SAVE_MARGIN = "margin";
+
+    /**
+     * Attribute formatting that exceeds the specified width as Integer will cause a line break so that formatting will continue indented on the next line
+     */
+    final String XML_SAVE_LINE_WIDTH = "LINE_WIDTH";
+
+    /**
+     * Boolean to save a doctype declaration 
+     */
+    final String XML_SAVE_DOCTYPE = "SAVE_DOCTYPE";
+
+    /**
+     * Boolean to process the schemaLocation/noNamespaceSchemaLocation attributes occurring in the instance document to {@link XSDHelper#define convert XSD(s) to Types} 
+     */
+    final String XML_LOAD_SCHEMA = "ProcessSchemaLocations";
+
+    /**
+     * To tolerate malformed elements and attributes (default unless set by System property XML.load.form.lax). 0 not to.  
+     */
+    final String XML_LOAD_LAX_FORM = "load malform";
+    
+    /**
+     * Allows you to record unknown features during deserialization/loading. 
+     * The default is Boolean.FALSE unless set to Boolean.TRUE explicitly. 
+     */
+    final String XML_LOAD_UNKNOWN_PROPERTIES = "load unknown properties";
+  }
+
+}

Propchange: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java (original)
+++ tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java Mon Jul 28 07:30:12 2008
@@ -1,445 +1,445 @@
-/**
- *
- *  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.tuscany.sdo.api;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.tuscany.sdo.api.EventListener;
-import org.apache.tuscany.sdo.spi.HelperProviderBase;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.impl.HelperProvider;
-
-/**
- * This class provides convenient static utility functions for calling the default SDOHelper.
- */
-public final class SDOUtil
-{
-  protected static SDOHelper defaultSDOHelper = ((HelperProviderBase)HelperProvider.INSTANCE).sdoHelper();
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataTypeWrapper(Type, Object)}.
-   */
-  public static DataObject createDataTypeWrapper(Type dataType, Object value)
-  {
-    return defaultSDOHelper.createDataTypeWrapper(dataType, value);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createFromString(Type, String)}.
-   */
-  public static Object createFromString(Type dataType, String literal)
-  {
-    return defaultSDOHelper.createFromString(dataType, literal);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#convertToString(Type, Object)}.
-   */
-  public static String convertToString(Type dataType, Object value)
-  {
-    return defaultSDOHelper.convertToString(dataType, value);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXSDSDOType(String)}.
-   */
-  public static Type getXSDSDOType(String xsdType)
-  {    
-    return defaultSDOHelper.getXSDSDOType(xsdType);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getSubstitutionValues(DataObject, Property)}.
-   */
-  public static Sequence getSubstitutionValues(DataObject dataObject, Property head)
-  {
-    return defaultSDOHelper.getSubstitutionValues(dataObject, head);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getJavaSDOType(Class)}.
-   */
-  public static Type getJavaSDOType(Class javaClass)
-  {    
-    return defaultSDOHelper.getJavaSDOType(javaClass);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isRequired(Property)}.
-   */
-  public static boolean isRequired(Property property)
-  {
-    return defaultSDOHelper.isRequired(property);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getUpperBound(Property)}.
-   */
-  public static int getUpperBound(Property property)
-  {
-    return defaultSDOHelper.getUpperBound(property);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getLowerBound(Property)}.
-   */
-  public static int getLowerBound(Property property)
-  {
-    return defaultSDOHelper.getLowerBound(property);
-  }
-  
-  public static List getEnumerationFacet(Type type) {
-	  return defaultSDOHelper.getEnumerationFacet(type);
-  }
-
-  public static List getPatternFacet(Type type) {
-	  return defaultSDOHelper.getPatternFacet(type);
-  }
-	     
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isMany(Property, DataObject)}.
-   */
-  public static boolean isMany(Property property, DataObject context) 
-  {
-    return defaultSDOHelper.isMany(property, context);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataGraph}.
-   */
-  public static DataGraph createDataGraph()
-  {
-    return defaultSDOHelper.createDataGraph();
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#setRootObject(DataGraph, DataObject)}.
-   */
-  public static void setRootObject(DataGraph dataGraph, DataObject rootObject)
-  {
-    defaultSDOHelper.setRootObject(dataGraph, rootObject);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}.
-   */
-  public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException
-  {
-    return defaultSDOHelper.loadDataGraph(inputStream, options, (HelperContext)null);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, HelperContext)}.
-   */
-  public static DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException
-  {
-    return defaultSDOHelper.loadDataGraph(inputStream, options, hc);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#saveDataGraph(DataGraph, OutputStream, Map)}.
-   */
-  public static void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException
-  {
-    defaultSDOHelper.saveDataGraph(dataGraph, outputStream, options);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#registerDataGraphTypes(DataGraph, List)}.
-   */
-  public static void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/ types)
-  {
-    defaultSDOHelper.registerDataGraphTypes(dataGraph, types);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean,Map)}.
-   */  
-  public static HelperContext createHelperContext(boolean extensibleNamespaces,Map options){
-	  return defaultSDOHelper.createHelperContext(extensibleNamespaces, options);
-  }
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean)}.
-   */
-  public static HelperContext createHelperContext(boolean extensibleNamespaces)
-  {
-    return defaultSDOHelper.createHelperContext(extensibleNamespaces);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
-   */
-  public static HelperContext createHelperContext(Map options)
-  {
-    return defaultSDOHelper.createHelperContext(options);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
-   */
-  public static HelperContext createHelperContext()
-  {
-    return defaultSDOHelper.createHelperContext();
-  }
-  
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(HelperContext)}.
-   */
-  public static CopyHelper createCrossScopeCopyHelper(HelperContext hc) 
-  {
-    return defaultSDOHelper.createCrossScopeCopyHelper(hc); 
-  }
-  
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(HelperContext)}.
-   */
-  public static XMLStreamHelper createXMLStreamHelper(HelperContext hc)
-  {
-    return defaultSDOHelper.createXMLStreamHelper(hc);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}.
-   */
-  public static ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException
-  {
-    return defaultSDOHelper.createObjectInputStream(inputStream, helperContext);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectOutputStream(OutputStream, HelperContext)}.
-   */
-  public static ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException
-  {
-    return defaultSDOHelper.createObjectOutputStream(outputStream, helperContext);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(HelperContext, String)}.
-   */
-  public static List getTypes(HelperContext hc, String uri) {
-
-    return defaultSDOHelper.getTypes(hc, uri);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getOpenContentProperties(DataObject)}.
-   */
-  public static List getOpenContentProperties(DataObject dataObject)
-  {
-    return defaultSDOHelper.getOpenContentProperties(dataObject);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isDocumentRoot(Type)}.
-   */
-  public static boolean isDocumentRoot(Type type)
-  {
-    return defaultSDOHelper.isDocumentRoot(type);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXPath(DataObject)}.
-   */
-  public static String getXPath(DataObject dataObject) 
-  {
-    return defaultSDOHelper.getXPath(dataObject);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(HelperContext, String, String, boolean)}.
-   */
-  public static Type createType(HelperContext hc, String uri, String name, boolean isDataType)
-  {
-    return defaultSDOHelper.getMetaDataBuilder().createType(hc, uri, name, isDataType);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addBaseType(Type, Type)}.
-   */
-  public static void addBaseType(Type type, Type baseType)
-  {
-    defaultSDOHelper.getMetaDataBuilder().addBaseType(type, baseType);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Type, String)}.
-   */
-  public static void addAliasName(Type type, String aliasName)
-  {
-    defaultSDOHelper.getMetaDataBuilder().addAliasName(type, aliasName);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpen(Type, boolean)}.
-   */
-  public static void setOpen(Type type, boolean isOpen)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setOpen(type, isOpen);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setSequenced(Type, boolean)}.
-   */
-  public static void setSequenced(Type type, boolean isSequenced)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setSequenced(type, isSequenced);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setAbstract(Type, boolean)}.
-   */
-  public static void setAbstract(Type type, boolean isAbstract)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setAbstract(type, isAbstract);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setJavaClassName(Type, String)}.
-   */
-  public static void setJavaClassName(Type type, String javaClassName)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setJavaClassName(type, javaClassName);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createProperty(Type, String, Type)}.
-   */
-  public static Property createProperty(Type containingType, String name, Type propertyType)
-  {
-    return defaultSDOHelper.getMetaDataBuilder().createProperty(containingType, name, propertyType);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setPropertyXMLKind(Property, boolean)}.
-   */
-  public static void setPropertyXMLKind(Property property, boolean isXmlElement) {
-      defaultSDOHelper.getMetaDataBuilder().setPropertyXMLKind(property, isXmlElement);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createOpenContentProperty(TypeHelper, String, String, Type)}.
-   */
-  public static Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type)
-  {
-    return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(hc, uri, name, type);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Property, String)}.
-   */
-  public static void addAliasName(Property property, String aliasName)
-  {
-    defaultSDOHelper.getMetaDataBuilder().addAliasName(property, aliasName);
-  }
- 
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setMany(Property, boolean)}.
-   */
-  public static void setMany(Property property, boolean isMany)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setMany(property, isMany);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setContainment(Property, boolean)}.
-   */
-  public static void setContainment(Property property, boolean isContainment)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setContainment(property, isContainment);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setDefault(Property, String)}.
-   */
-  public static void setDefault(Property property, String defaultValue)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setDefault(property, defaultValue);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setReadOnly(Property, boolean)}.
-   */
-  public static void setReadOnly(Property property, boolean isReadOnly)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setReadOnly(property, isReadOnly);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpposite(Property, Property)}.
-   */
-  public static void setOpposite(Property property, Property opposite)
-  {
-    defaultSDOHelper.getMetaDataBuilder().setOpposite(property, opposite);
-  }
-  
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addTypeInstanceProperty(Type, Property, Object)}.
-   */
-  public static void addTypeInstanceProperty(Type definedType, Property property, Object value)
-  {
-    defaultSDOHelper.getMetaDataBuilder().addTypeInstanceProperty(definedType, property, value);
-  }
-
-  /**
-   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addPropertyInstanceProperty(Property, Property, Object)}.
-   */
-  public static void addPropertyInstanceProperty(Property definedProperty, Property property, Object value)
-  {
-    defaultSDOHelper.getMetaDataBuilder().addPropertyInstanceProperty(definedProperty, property, value);
-  }
-  
-
-  /**
-   * @see SDOHelper#addChangeListener(DataObject, EventListener)
-   * @param dob
-   * @param l
-   */
-  public static void addChangeListener(DataObject dob, EventListener l) {
-    defaultSDOHelper.addChangeListener(dob, l);
-  }
-
-  /**
-   * @see SDOHelper#addChangeListener(DataObject, EventListener)
-   * @param dob
-   * @param l
-   */
-  public static void removeChangeListener(DataObject dob, EventListener l) {
-    defaultSDOHelper.removeChangeListener(dob, l);
-  }
-  
-  
-}
+/**
+ *
+ *  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.tuscany.sdo.api;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.tuscany.sdo.api.EventListener;
+import org.apache.tuscany.sdo.spi.HelperProviderBase;
+
+import commonj.sdo.DataGraph;
+import commonj.sdo.DataObject;
+import commonj.sdo.Property;
+import commonj.sdo.Sequence;
+import commonj.sdo.Type;
+import commonj.sdo.helper.CopyHelper;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.TypeHelper;
+import commonj.sdo.impl.HelperProvider;
+
+/**
+ * This class provides convenient static utility functions for calling the default SDOHelper.
+ */
+public final class SDOUtil
+{
+  protected static SDOHelper defaultSDOHelper = ((HelperProviderBase)HelperProvider.INSTANCE).sdoHelper();
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataTypeWrapper(Type, Object)}.
+   */
+  public static DataObject createDataTypeWrapper(Type dataType, Object value)
+  {
+    return defaultSDOHelper.createDataTypeWrapper(dataType, value);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createFromString(Type, String)}.
+   */
+  public static Object createFromString(Type dataType, String literal)
+  {
+    return defaultSDOHelper.createFromString(dataType, literal);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#convertToString(Type, Object)}.
+   */
+  public static String convertToString(Type dataType, Object value)
+  {
+    return defaultSDOHelper.convertToString(dataType, value);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXSDSDOType(String)}.
+   */
+  public static Type getXSDSDOType(String xsdType)
+  {    
+    return defaultSDOHelper.getXSDSDOType(xsdType);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getSubstitutionValues(DataObject, Property)}.
+   */
+  public static Sequence getSubstitutionValues(DataObject dataObject, Property head)
+  {
+    return defaultSDOHelper.getSubstitutionValues(dataObject, head);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getJavaSDOType(Class)}.
+   */
+  public static Type getJavaSDOType(Class javaClass)
+  {    
+    return defaultSDOHelper.getJavaSDOType(javaClass);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isRequired(Property)}.
+   */
+  public static boolean isRequired(Property property)
+  {
+    return defaultSDOHelper.isRequired(property);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getUpperBound(Property)}.
+   */
+  public static int getUpperBound(Property property)
+  {
+    return defaultSDOHelper.getUpperBound(property);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getLowerBound(Property)}.
+   */
+  public static int getLowerBound(Property property)
+  {
+    return defaultSDOHelper.getLowerBound(property);
+  }
+  
+  public static List getEnumerationFacet(Type type) {
+	  return defaultSDOHelper.getEnumerationFacet(type);
+  }
+
+  public static List getPatternFacet(Type type) {
+	  return defaultSDOHelper.getPatternFacet(type);
+  }
+	     
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isMany(Property, DataObject)}.
+   */
+  public static boolean isMany(Property property, DataObject context) 
+  {
+    return defaultSDOHelper.isMany(property, context);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createDataGraph}.
+   */
+  public static DataGraph createDataGraph()
+  {
+    return defaultSDOHelper.createDataGraph();
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#setRootObject(DataGraph, DataObject)}.
+   */
+  public static void setRootObject(DataGraph dataGraph, DataObject rootObject)
+  {
+    defaultSDOHelper.setRootObject(dataGraph, rootObject);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, TypeHelper)}.
+   */
+  public static DataGraph loadDataGraph(InputStream inputStream, Map options) throws IOException
+  {
+    return defaultSDOHelper.loadDataGraph(inputStream, options, (HelperContext)null);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#loadDataGraph(InputStream, Map, HelperContext)}.
+   */
+  public static DataGraph loadDataGraph(InputStream inputStream, Map options, HelperContext hc) throws IOException
+  {
+    return defaultSDOHelper.loadDataGraph(inputStream, options, hc);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#saveDataGraph(DataGraph, OutputStream, Map)}.
+   */
+  public static void saveDataGraph(DataGraph dataGraph, OutputStream outputStream, Map options) throws IOException
+  {
+    defaultSDOHelper.saveDataGraph(dataGraph, outputStream, options);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#registerDataGraphTypes(DataGraph, List)}.
+   */
+  public static void registerDataGraphTypes(DataGraph dataGraph, List/*Type*/ types)
+  {
+    defaultSDOHelper.registerDataGraphTypes(dataGraph, types);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean,Map)}.
+   */  
+  public static HelperContext createHelperContext(boolean extensibleNamespaces,Map options){
+	  return defaultSDOHelper.createHelperContext(extensibleNamespaces, options);
+  }
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext(boolean)}.
+   */
+  public static HelperContext createHelperContext(boolean extensibleNamespaces)
+  {
+    return defaultSDOHelper.createHelperContext(extensibleNamespaces);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
+   */
+  public static HelperContext createHelperContext(Map options)
+  {
+    return defaultSDOHelper.createHelperContext(options);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createHelperContext}.
+   */
+  public static HelperContext createHelperContext()
+  {
+    return defaultSDOHelper.createHelperContext();
+  }
+  
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createCrossScopeCopyHelper(HelperContext)}.
+   */
+  public static CopyHelper createCrossScopeCopyHelper(HelperContext hc) 
+  {
+    return defaultSDOHelper.createCrossScopeCopyHelper(hc); 
+  }
+  
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createXMLStreamHelper(HelperContext)}.
+   */
+  public static XMLStreamHelper createXMLStreamHelper(HelperContext hc)
+  {
+    return defaultSDOHelper.createXMLStreamHelper(hc);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectInputStream(InputStream, HelperContext)}.
+   */
+  public static ObjectInputStream createObjectInputStream(InputStream inputStream, HelperContext helperContext) throws IOException
+  {
+    return defaultSDOHelper.createObjectInputStream(inputStream, helperContext);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#createObjectOutputStream(OutputStream, HelperContext)}.
+   */
+  public static ObjectOutputStream createObjectOutputStream(OutputStream outputStream, HelperContext helperContext) throws IOException
+  {
+    return defaultSDOHelper.createObjectOutputStream(outputStream, helperContext);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getTypes(HelperContext, String)}.
+   */
+  public static List getTypes(HelperContext hc, String uri) {
+
+    return defaultSDOHelper.getTypes(hc, uri);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getOpenContentProperties(DataObject)}.
+   */
+  public static List getOpenContentProperties(DataObject dataObject)
+  {
+    return defaultSDOHelper.getOpenContentProperties(dataObject);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#isDocumentRoot(Type)}.
+   */
+  public static boolean isDocumentRoot(Type type)
+  {
+    return defaultSDOHelper.isDocumentRoot(type);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper#getXPath(DataObject)}.
+   */
+  public static String getXPath(DataObject dataObject) 
+  {
+    return defaultSDOHelper.getXPath(dataObject);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createType(HelperContext, String, String, boolean)}.
+   */
+  public static Type createType(HelperContext hc, String uri, String name, boolean isDataType)
+  {
+    return defaultSDOHelper.getMetaDataBuilder().createType(hc, uri, name, isDataType);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addBaseType(Type, Type)}.
+   */
+  public static void addBaseType(Type type, Type baseType)
+  {
+    defaultSDOHelper.getMetaDataBuilder().addBaseType(type, baseType);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Type, String)}.
+   */
+  public static void addAliasName(Type type, String aliasName)
+  {
+    defaultSDOHelper.getMetaDataBuilder().addAliasName(type, aliasName);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpen(Type, boolean)}.
+   */
+  public static void setOpen(Type type, boolean isOpen)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setOpen(type, isOpen);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setSequenced(Type, boolean)}.
+   */
+  public static void setSequenced(Type type, boolean isSequenced)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setSequenced(type, isSequenced);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setAbstract(Type, boolean)}.
+   */
+  public static void setAbstract(Type type, boolean isAbstract)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setAbstract(type, isAbstract);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setJavaClassName(Type, String)}.
+   */
+  public static void setJavaClassName(Type type, String javaClassName)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setJavaClassName(type, javaClassName);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createProperty(Type, String, Type)}.
+   */
+  public static Property createProperty(Type containingType, String name, Type propertyType)
+  {
+    return defaultSDOHelper.getMetaDataBuilder().createProperty(containingType, name, propertyType);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setPropertyXMLKind(Property, boolean)}.
+   */
+  public static void setPropertyXMLKind(Property property, boolean isXmlElement) {
+      defaultSDOHelper.getMetaDataBuilder().setPropertyXMLKind(property, isXmlElement);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#createOpenContentProperty(TypeHelper, String, String, Type)}.
+   */
+  public static Property createOpenContentProperty(HelperContext hc, String uri, String name, Type type)
+  {
+    return defaultSDOHelper.getMetaDataBuilder().createOpenContentProperty(hc, uri, name, type);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addAliasName(Property, String)}.
+   */
+  public static void addAliasName(Property property, String aliasName)
+  {
+    defaultSDOHelper.getMetaDataBuilder().addAliasName(property, aliasName);
+  }
+ 
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setMany(Property, boolean)}.
+   */
+  public static void setMany(Property property, boolean isMany)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setMany(property, isMany);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setContainment(Property, boolean)}.
+   */
+  public static void setContainment(Property property, boolean isContainment)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setContainment(property, isContainment);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setDefault(Property, String)}.
+   */
+  public static void setDefault(Property property, String defaultValue)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setDefault(property, defaultValue);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setReadOnly(Property, boolean)}.
+   */
+  public static void setReadOnly(Property property, boolean isReadOnly)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setReadOnly(property, isReadOnly);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#setOpposite(Property, Property)}.
+   */
+  public static void setOpposite(Property property, Property opposite)
+  {
+    defaultSDOHelper.getMetaDataBuilder().setOpposite(property, opposite);
+  }
+  
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addTypeInstanceProperty(Type, Property, Object)}.
+   */
+  public static void addTypeInstanceProperty(Type definedType, Property property, Object value)
+  {
+    defaultSDOHelper.getMetaDataBuilder().addTypeInstanceProperty(definedType, property, value);
+  }
+
+  /**
+   * @see {@link org.apache.tuscany.sdo.api.SDOHelper.MetaDataBuilder#addPropertyInstanceProperty(Property, Property, Object)}.
+   */
+  public static void addPropertyInstanceProperty(Property definedProperty, Property property, Object value)
+  {
+    defaultSDOHelper.getMetaDataBuilder().addPropertyInstanceProperty(definedProperty, property, value);
+  }
+  
+
+  /**
+   * @see SDOHelper#addChangeListener(DataObject, EventListener)
+   * @param dob
+   * @param l
+   */
+  public static void addChangeListener(DataObject dob, EventListener l) {
+    defaultSDOHelper.addChangeListener(dob, l);
+  }
+
+  /**
+   * @see SDOHelper#addChangeListener(DataObject, EventListener)
+   * @param dob
+   * @param l
+   */
+  public static void removeChangeListener(DataObject dob, EventListener l) {
+    defaultSDOHelper.removeChangeListener(dob, l);
+  }
+  
+  
+}

Propchange: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/SDOUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java (original)
+++ tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java Mon Jul 28 07:30:12 2008
@@ -1,125 +1,125 @@
-/**
- *
- *  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.tuscany.sdo.api;
-
-import java.util.Map;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-
-/**
- * Helper interface for reading and writing SDO DataObjects from XML streams
- * (StAX).
- * 
- * @version $Rev: 503913 $ $Date: 2007-02-05 17:53:34 -0500 (Mon, 05 Feb 2007) $
- */
-public interface XMLStreamHelper {
-    /**
-     * Creates and returns an XMLDocument from an XML input stream. The reader
-     * must be positioned on a START_DOCUMENT event.
-     * 
-     * @param reader the stream to read
-     * @return an XMLDocument created from the stream
-     * @throws XMLStreamException if there was a problem reading the stream
-     * @throws IllegalStateException if the reader is not positioned on a
-     *             START_DOCUMENT event
-     */
-    XMLDocument load(XMLStreamReader reader) throws XMLStreamException, IllegalStateException;
-
-    /**
-     * Save a XMLDocument to an XML stream.
-     * 
-     * @param document the document to be written
-     * @param writer the stream to write to
-     * @throws XMLStreamException if there was a problem writing to the stream
-     */
-    void save(XMLDocument document, XMLStreamWriter writer) throws XMLStreamException;
-
-    void save(XMLDocument document, XMLStreamWriter writer, Map options) throws XMLStreamException;
-
-    /**
-     * Creates and returns a XMLStreamReader that can be used to read an
-     * XMLDocument as a XML event stream. The reader will be positioned on a
-     * START_DOCUMENT event.
-     * 
-     * @param document the XMLDocument to be read
-     * @return an XMLStreamReader that can be used to read the document
-     */
-    XMLStreamReader createXMLStreamReader(XMLDocument document) throws XMLStreamException;
-
-    /**
-     * Create a DataObject from an element in a XML stream. The reader must be
-     * positioned on a START_ELEMENT event.
-     * 
-     * @param reader the stream to read
-     * @return a DataObject created from the element in the stream
-     * @throws XMLStreamException if there was a problem reading the stream
-     * @throws IllegalStateException if the reader is not positioned on a
-     *             START_ELEMENT event
-     */
-    DataObject loadObject(XMLStreamReader reader) throws XMLStreamException, IllegalStateException;
-
-    /**
-     * Default Type to load DataObject if the element is unqualified/local
-     * without xsi:type or the qualified/global element or xsi:type fail to
-     * resolve. Can be null.
-     */
-    String OPTION_DEFAULT_ROOT_TYPE = "default root type";
-
-    /**
-     * Create a DataObject from an element in a XML stream. The reader must be
-     * positioned on a START_ELEMENT event.
-     * 
-     * @param reader the stream to read
-     * @param options {@link OPTION_DEFAULT_ROOT_TYPE}; can be null or empty
-     * @return a DataObject created from the element in the stream
-     * @throws XMLStreamException if there was a problem reading the stream
-     * @throws IllegalStateException if the reader is not positioned on a
-     *             START_ELEMENT event
-     */
-    DataObject loadObject(XMLStreamReader reader, Map options) throws XMLStreamException, IllegalStateException;
-
-    /**
-     * Save a DataObject to an XML stream.
-     * 
-     * @param sdo the DataObject to be written
-     * @param writer the stream to write to
-     * @throws XMLStreamException if there was a problem writing to the stream
-     */
-    void saveObject(DataObject sdo, XMLStreamWriter writer) throws XMLStreamException;
-
-    void saveObject(DataObject sdo, XMLStreamWriter writer, Map options) throws XMLStreamException;
-
-    /**
-     * Creates and returns a XMLStreamReader that can be used to read a
-     * DataObject as a XML event stream. The reader will be positioned on a
-     * START_ELEMENT event.
-     * 
-     * @param sdo the DataObject to be read
-     * @return an XMLStreamReader that can be used to read the DataObject
-     */
-    XMLStreamReader createXMLStreamReader(DataObject sdo);
-
-    HelperContext getHelperContext();
-}
+/**
+ *
+ *  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.tuscany.sdo.api;
+
+import java.util.Map;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.XMLDocument;
+
+/**
+ * Helper interface for reading and writing SDO DataObjects from XML streams
+ * (StAX).
+ * 
+ * @version $Rev: 503913 $ $Date: 2007-02-05 17:53:34 -0500 (Mon, 05 Feb 2007) $
+ */
+public interface XMLStreamHelper {
+    /**
+     * Creates and returns an XMLDocument from an XML input stream. The reader
+     * must be positioned on a START_DOCUMENT event.
+     * 
+     * @param reader the stream to read
+     * @return an XMLDocument created from the stream
+     * @throws XMLStreamException if there was a problem reading the stream
+     * @throws IllegalStateException if the reader is not positioned on a
+     *             START_DOCUMENT event
+     */
+    XMLDocument load(XMLStreamReader reader) throws XMLStreamException, IllegalStateException;
+
+    /**
+     * Save a XMLDocument to an XML stream.
+     * 
+     * @param document the document to be written
+     * @param writer the stream to write to
+     * @throws XMLStreamException if there was a problem writing to the stream
+     */
+    void save(XMLDocument document, XMLStreamWriter writer) throws XMLStreamException;
+
+    void save(XMLDocument document, XMLStreamWriter writer, Map options) throws XMLStreamException;
+
+    /**
+     * Creates and returns a XMLStreamReader that can be used to read an
+     * XMLDocument as a XML event stream. The reader will be positioned on a
+     * START_DOCUMENT event.
+     * 
+     * @param document the XMLDocument to be read
+     * @return an XMLStreamReader that can be used to read the document
+     */
+    XMLStreamReader createXMLStreamReader(XMLDocument document) throws XMLStreamException;
+
+    /**
+     * Create a DataObject from an element in a XML stream. The reader must be
+     * positioned on a START_ELEMENT event.
+     * 
+     * @param reader the stream to read
+     * @return a DataObject created from the element in the stream
+     * @throws XMLStreamException if there was a problem reading the stream
+     * @throws IllegalStateException if the reader is not positioned on a
+     *             START_ELEMENT event
+     */
+    DataObject loadObject(XMLStreamReader reader) throws XMLStreamException, IllegalStateException;
+
+    /**
+     * Default Type to load DataObject if the element is unqualified/local
+     * without xsi:type or the qualified/global element or xsi:type fail to
+     * resolve. Can be null.
+     */
+    String OPTION_DEFAULT_ROOT_TYPE = "default root type";
+
+    /**
+     * Create a DataObject from an element in a XML stream. The reader must be
+     * positioned on a START_ELEMENT event.
+     * 
+     * @param reader the stream to read
+     * @param options {@link OPTION_DEFAULT_ROOT_TYPE}; can be null or empty
+     * @return a DataObject created from the element in the stream
+     * @throws XMLStreamException if there was a problem reading the stream
+     * @throws IllegalStateException if the reader is not positioned on a
+     *             START_ELEMENT event
+     */
+    DataObject loadObject(XMLStreamReader reader, Map options) throws XMLStreamException, IllegalStateException;
+
+    /**
+     * Save a DataObject to an XML stream.
+     * 
+     * @param sdo the DataObject to be written
+     * @param writer the stream to write to
+     * @throws XMLStreamException if there was a problem writing to the stream
+     */
+    void saveObject(DataObject sdo, XMLStreamWriter writer) throws XMLStreamException;
+
+    void saveObject(DataObject sdo, XMLStreamWriter writer, Map options) throws XMLStreamException;
+
+    /**
+     * Creates and returns a XMLStreamReader that can be used to read a
+     * DataObject as a XML event stream. The reader will be positioned on a
+     * START_ELEMENT event.
+     * 
+     * @param sdo the DataObject to be read
+     * @return an XMLStreamReader that can be used to read the DataObject
+     */
+    XMLStreamReader createXMLStreamReader(DataObject sdo);
+
+    HelperContext getHelperContext();
+}

Propchange: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/api/XMLStreamHelper.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java (original)
+++ tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java Mon Jul 28 07:30:12 2008
@@ -1,49 +1,49 @@
-/**
- *
- *  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.tuscany.sdo.lib;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.ObjectInputStream;
-
-import commonj.sdo.helper.HelperContext;
-
-/**
- * This subclass of ObjectInputStream provides a place to store the scope in which
- * it was created.
- */
-public class SDOObjectInputStream extends ObjectInputStream {
-    
-    private HelperContext helperContext;
-    
-    public SDOObjectInputStream(InputStream in, HelperContext helperContext) throws IOException{
-        super(in);
-        this.helperContext = helperContext;
-    }
-
-    public HelperContext getHelperContext() {
-        return helperContext;
-    }
-
-    public void setHelperContext(HelperContext helperContext) {
-        this.helperContext = helperContext;
-    }
-    
-}
+/**
+ *
+ *  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.tuscany.sdo.lib;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+
+import commonj.sdo.helper.HelperContext;
+
+/**
+ * This subclass of ObjectInputStream provides a place to store the scope in which
+ * it was created.
+ */
+public class SDOObjectInputStream extends ObjectInputStream {
+    
+    private HelperContext helperContext;
+    
+    public SDOObjectInputStream(InputStream in, HelperContext helperContext) throws IOException{
+        super(in);
+        this.helperContext = helperContext;
+    }
+
+    public HelperContext getHelperContext() {
+        return helperContext;
+    }
+
+    public void setHelperContext(HelperContext helperContext) {
+        this.helperContext = helperContext;
+    }
+    
+}

Propchange: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectInputStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java
URL: http://svn.apache.org/viewvc/tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java?rev=680370&r1=680369&r2=680370&view=diff
==============================================================================
--- tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java (original)
+++ tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java Mon Jul 28 07:30:12 2008
@@ -1,49 +1,49 @@
-/**
- *
- *  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.tuscany.sdo.lib;
-
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.io.OutputStream;
-
-import commonj.sdo.helper.HelperContext;
-
-/**
- * This subclass of ObjectOutputStream provides a place to store the scope in which
- * it was created.
- */
-public class SDOObjectOutputStream extends ObjectOutputStream {
-    
-    private HelperContext helperContext;
-    
-    public SDOObjectOutputStream(OutputStream os, HelperContext helperContext) throws IOException{
-        super(os);
-        this.helperContext = helperContext;
-    }
-
-    public HelperContext getHelperContext() {
-        return helperContext;
-    }
-
-    public void setHelperContext(HelperContext helperContext) {
-        this.helperContext = helperContext;
-    }
-    
-}
+/**
+ *
+ *  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.tuscany.sdo.lib;
+
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.io.OutputStream;
+
+import commonj.sdo.helper.HelperContext;
+
+/**
+ * This subclass of ObjectOutputStream provides a place to store the scope in which
+ * it was created.
+ */
+public class SDOObjectOutputStream extends ObjectOutputStream {
+    
+    private HelperContext helperContext;
+    
+    public SDOObjectOutputStream(OutputStream os, HelperContext helperContext) throws IOException{
+        super(os);
+        this.helperContext = helperContext;
+    }
+
+    public HelperContext getHelperContext() {
+        return helperContext;
+    }
+
+    public void setHelperContext(HelperContext helperContext) {
+        this.helperContext = helperContext;
+    }
+    
+}

Propchange: tuscany/java/sdo/lib/src/main/java/org/apache/tuscany/sdo/lib/SDOObjectOutputStream.java
------------------------------------------------------------------------------
    svn:eol-style = native