org.eclipse.emf.ecore.xmi
Interface XMLResource

All Superinterfaces:
Notifier, Resource
All Known Subinterfaces:
Ecore2XMLResource, XMIResource
All Known Implementing Classes:
Ecore2XMLResourceImpl, EMOFResourceImpl, XMIResourceImpl, XMLResourceImpl

public interface XMLResource
extends Resource

This interface represents an XML resource. You can use it to load and save XML files. This initial implementation of XML serialization and deserialization is incomplete but will be completed shortly.


Nested Class Summary
static interface XMLResource.ResourceHandler
           
static interface XMLResource.XMLInfo
          This interface is used with the XMLMap interface to describe how to serialize objects and features.
static interface XMLResource.XMLMap
          This interface represents a mapping from Ecore constructs to the XML representation of those constructs.
 
Nested classes inherited from class org.eclipse.emf.ecore.resource.Resource
Resource.Diagnostic, Resource.Factory, Resource.Internal, Resource.IOWrappedException
 
Field Summary
static String HREF
           
static String NIL
           
static String NO_NAMESPACE_SCHEMA_LOCATION
           
static String OPTION_ANY_SIMPLE_TYPE
          This option allows to specify an EClass for the implementation for anySimpleType.
static String OPTION_ANY_TYPE
          This option allows to specify an EClass for the implementation for anyType.
static String OPTION_CONFIGURATION_CACHE
          Generic option for enable caching (during save and load) to improve performance.
static String OPTION_DECLARE_XML
          Begin a save with this line:
static String OPTION_DEFER_ATTACHMENT
          Defer adding the root object to the resource until the end of the load when the tree is complete.
static String OPTION_DEFER_IDREF_RESOLUTION
          Defer resolution of same document references until the end of the document is reached.
static String OPTION_DISABLE_NOTIFY
          Disable notifications during load, and enable them at the end of a load.
static String OPTION_DOM_USE_NAMESPACES_IN_SCOPE
          This is option should be used when loading a resource from a DOM Element node, to specify that load method should take into account all the namespaces declarations in scope for this node (by visiting parents of the node being loaded).
static String OPTION_ENCODING
          Specify the XML encoding to be used during save.
static String OPTION_EXTENDED_META_DATA
          This option allows you to tailor the XML serialization of objects.
static String OPTION_FLUSH_THRESHOLD
          Flush the output stream whenever the number of characters/bytes pending exceeds the specified Integer value.
static String OPTION_FORMATTED
          Break lines and add indentation to produce a readable document.
static String OPTION_KEEP_DEFAULT_CONTENT
          Keep default content ( e.g. default attributes).
static String OPTION_LAX_FEATURE_PROCESSING
          Turn this load option on to indicate that a feature should be populated from either an attribute or an element even if its feature kind is specified (e.g. element).
static String OPTION_LINE_WIDTH
          Attribute formatting that exceeds the specified width will cause a line break so that formatting will continue indented on the next line.
static String OPTION_PARSER_FEATURES
          Specify parser features with their corresponding values, i.e., true or false using XMLResource.XMLMap.
static String OPTION_PARSER_PROPERTIES
          Specify parser properties with their corresponding values using a XMLResource.XMLMap.
static String OPTION_PROCESS_DANGLING_HREF
          This can be one of "THROW", "DISCARD", "RECORD", where "THROW" is the default.
static String OPTION_PROCESS_DANGLING_HREF_DISCARD
           
static String OPTION_PROCESS_DANGLING_HREF_RECORD
           
static String OPTION_PROCESS_DANGLING_HREF_THROW
           
static String OPTION_RECORD_ANY_TYPE_NAMESPACE_DECLARATIONS
          Enable preserving namespace declarations on elements of type AnyType
static String OPTION_RECORD_UNKNOWN_FEATURE
          This options allows you to record unknown features during deserialization/loading.
static String OPTION_RESOURCE_HANDLER
          Implementations can register the resource handler to receive call backs for loading from InputStream or saving to OutputStream resources.
static String OPTION_SAVE_DOCTYPE
          Save a doctype declaration using systemId and publicId values specified on the resource
static String OPTION_SAVE_TYPE_INFORMATION
          Use XMLTypeInfo to determine whether type information (xsi:type/xmi:type) is to be serialized for references.
static String OPTION_SCHEMA_LOCATION
          Produce an xsi:schemaLocation/xsi:noNamespaceSchemaLocation in the saved result.
static String OPTION_SCHEMA_LOCATION_IMPLEMENTATION
          Produce an xsi:schemaLocation/xsi:noNamespaceSchemaLocation in the saved result to encode the name of the Java interface that declares the eINSTANCE of the EPackage implementation for those cases where OPTION_SCHEMA_LOCATION would not produce a physical location URI.
static String OPTION_SKIP_ESCAPE
          Skip processing for values that contain characters special to XML Faster for large computer-generated files
static String OPTION_SKIP_ESCAPE_URI
          Skip escaping special characters, such as '&' char, in URIs during XML serialization.
static String OPTION_USE_CACHED_LOOKUP_TABLE
          Specify a place holder List for caching information during the subsequent saving of XML documents.
static String OPTION_USE_DEPRECATED_METHODS
          Use deprecated methods - the default is true.
static String OPTION_USE_ENCODED_ATTRIBUTE_STYLE
          All EObject references will be uniformly encoded as one or more QName URI pairs, where the QName is optional depending on whether the referenced object's type is not identicle to that of the feature.
static String OPTION_USE_FILE_BUFFER
          Write the intermediate results of serialization to the file system rather to an in-memory buffer.
static String OPTION_USE_LEXICAL_HANDLER
          Determines whether comments and CDATA will be preserved in any mixed text processing.
static String OPTION_USE_PARSER_POOL
          Specify a parser pool to be used for loading XML documents from InputStream.
static String OPTION_USE_XML_NAME_TO_FEATURE_MAP
           Specify a map XMLResource.XMLMap to be used during the subsequent loading of XML documents.
static String OPTION_XML_MAP
          This save option allows you to tailor the XML serialization of objects.
static String OPTION_XML_OPTIONS
          Allows the user to specify XML options XMLOptions and default implementation you can use XMLOptionsImpl
static String OPTION_XML_VERSION
          Specify the XML version to be used during save.
static String SCHEMA_LOCATION
           
static String TYPE
           
static String XML_NS
           
static String XML_SCHEMA_URI
           
static String XSI_NS
           
static String XSI_URI
           
 
Fields inherited from interface org.eclipse.emf.ecore.resource.Resource
OPTION_CIPHER, OPTION_ZIP, RESOURCE__CONTENTS, RESOURCE__ERRORS, RESOURCE__IS_LOADED, RESOURCE__IS_MODIFIED, RESOURCE__IS_TRACKING_MODIFICATION, RESOURCE__RESOURCE_SET, RESOURCE__URI, RESOURCE__WARNINGS
 
Method Summary
 Map getDefaultLoadOptions()
          Returns the map of options that, in addition to the overriding options specified during load, are used to to control load behavior.
 Map getDefaultSaveOptions()
          Returns the map of options that, in addition to the overriding options specified during save, are used to to control save behavior.
 DOMHelper getDOMHelper()
          Returns the DOMHelper
 String getEncoding()
          Get the XML encoding for this resource.
 Map getEObjectToExtensionMap()
          Returns the map with EObject as keys and corresponding AnyTypes as the values.
 Map getEObjectToIDMap()
          Deprecated. since 2.1.0 This map should not be manipulated directly. Use setID(EObject, String) and getID(EObject) or Resource.getEObject(String) instead. This method may be removed from this interface.
 String getID(EObject eObject)
          Returns the ID that was assigned with setID(EObject, String); if there is no ID, it returns null.
 Map getIDToEObjectMap()
          Deprecated. since 2.1.0 This map should not be manipulated directly. Use setID(EObject, String) and getID(EObject) or Resource.getEObject(String) instead. This method may be removed from this interface.
 String getPublicId()
          Returns public identifier specified on the doctype.
 String getSystemId()
          Returns system identifier specified on the doctype.
 String getXMLVersion()
          Get the XML version for this resource.
 void load(InputSource inputSource, Map options)
           
 void load(Node node, Map options)
          Loads the resource from the DOM node, either an Element or Document, using the specified options.
 Document save(Document document, Map options, DOMHandler handler)
          Create a DOM tree representing contents of this resource.
 void save(Writer writer, Map options)
          Saves the resource to the writer using the specified options.
 void setDoctypeInfo(String publicId, String systemId)
          Sets the values of system and public identifiers on this resource.
 void setEncoding(String encoding)
          Set the XML encoding for this resource.
 void setID(EObject eObject, String id)
          Sets the ID for the given object.
 void setUseZip(boolean useZip)
          Set whether the contents will be zipped.
 void setXMLVersion(String version)
          Set the XML version for this resource
 boolean useZip()
          Returns whether the contents will be zipped.
 
Methods inherited from interface org.eclipse.emf.ecore.resource.Resource
getAllContents, getContents, getEObject, getErrors, getResourceSet, getURI, getURIFragment, getWarnings, isLoaded, isModified, isTrackingModification, load, load, save, save, setModified, setTrackingModification, setURI, unload
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Field Detail

OPTION_USE_PARSER_POOL

public static final String OPTION_USE_PARSER_POOL
Specify a parser pool to be used for loading XML documents from InputStream. You need to provide a XMLParserPool as the value of this option.

This option can dramatically improve performance for deserialization (loading) of XML resource.

See Also:
XMLParserPool, Constant Field Values

OPTION_USE_XML_NAME_TO_FEATURE_MAP

public static final String OPTION_USE_XML_NAME_TO_FEATURE_MAP

Specify a map XMLResource.XMLMap to be used during the subsequent loading of XML documents. This is mapping between XML name, namespace and an EClass to the corresponding EStructuralFeature.

This option can significantly improve performance for deserialization (loading) of multiple XML resources which are based on the same model (XML Schema or Ecore).

See Also:
EClass, EStructuralFeature, Constant Field Values

OPTION_USE_CACHED_LOOKUP_TABLE

public static final String OPTION_USE_CACHED_LOOKUP_TABLE
Specify a place holder List for caching information during the subsequent saving of XML documents. This option can improve performance for serialization (saving) of multiple XML resources. This option is similar to the OPTION_USE_XML_NAME_TO_FEATURE_MAP which is used for deserialization (loading).

See Also:
Constant Field Values

OPTION_USE_DEPRECATED_METHODS

public static final String OPTION_USE_DEPRECATED_METHODS
Use deprecated methods - the default is true. To improve deserialization performance turn this option to false. The methods affected are:

Note: if you use this option the SAX parser used for parsing documents must be namespace-aware parser, i.e. the namespaces should be turned on for the parser used. The default parser implementation is not namespace-aware. To turn on namespaces, either use OPTION_USE_PARSER_POOL or overwrite XMLLoadImpl#makeParser()

See Also:
Constant Field Values

OPTION_CONFIGURATION_CACHE

public static final String OPTION_CONFIGURATION_CACHE
Generic option for enable caching (during save and load) to improve performance. This option uses ConfigurationCache to cache the following things:

See Also:
Constant Field Values

OPTION_SAVE_TYPE_INFORMATION

public static final String OPTION_SAVE_TYPE_INFORMATION
Use XMLTypeInfo to determine whether type information (xsi:type/xmi:type) is to be serialized for references.

See Also:
Constant Field Values

OPTION_PARSER_FEATURES

public static final String OPTION_PARSER_FEATURES
Specify parser features with their corresponding values, i.e., true or false using XMLResource.XMLMap. This option is applicable during loading of XML resources from an InputStream

See Also:
Constant Field Values

OPTION_PARSER_PROPERTIES

public static final String OPTION_PARSER_PROPERTIES
Specify parser properties with their corresponding values using a XMLResource.XMLMap. This option is applicable during loading of XML resources from an InputStream.

See Also:
Constant Field Values

OPTION_USE_LEXICAL_HANDLER

public static final String OPTION_USE_LEXICAL_HANDLER
Determines whether comments and CDATA will be preserved in any mixed text processing. This option is applicable for loading XML resources (from DOM node or an InputStream)

See Also:
Constant Field Values

OPTION_DOM_USE_NAMESPACES_IN_SCOPE

public static final String OPTION_DOM_USE_NAMESPACES_IN_SCOPE
This is option should be used when loading a resource from a DOM Element node, to specify that load method should take into account all the namespaces declarations in scope for this node (by visiting parents of the node being loaded). Otherwise, user have to make sure that Element node being loaded has namespace well-formed content.

Note that loading will only succeed if the subset of DOM being loaded could be treated as a valid resource according to the model.

See Also:
Constant Field Values

OPTION_EXTENDED_META_DATA

public static final String OPTION_EXTENDED_META_DATA
This option allows you to tailor the XML serialization of objects. You should provide an ExtendedMetaData as the value of this option.

See Also:
BasicExtendedMetaData, Constant Field Values

OPTION_ANY_TYPE

public static final String OPTION_ANY_TYPE
This option allows to specify an EClass for the implementation for anyType. As an example, see org.eclipse.emf.ecore.sdo.SDOPackage getEDataObjectAnyType().

See Also:
OPTION_ANY_SIMPLE_TYPE, Constant Field Values

OPTION_ANY_SIMPLE_TYPE

public static final String OPTION_ANY_SIMPLE_TYPE
This option allows to specify an EClass for the implementation for anySimpleType. As an example, see org.eclipse.emf.ecore.sdo.SDOPackage getEDataObjectSimpleAnyType() method.

See Also:
OPTION_ANY_TYPE, Constant Field Values

OPTION_XML_MAP

public static final String OPTION_XML_MAP
This save option allows you to tailor the XML serialization of objects. You should provide an XMLMap as the value of this option.

It is strongly suggested to use instead of this option the ExtendedMetaData.

See Also:
OPTION_EXTENDED_META_DATA, Constant Field Values

OPTION_USE_ENCODED_ATTRIBUTE_STYLE

public static final String OPTION_USE_ENCODED_ATTRIBUTE_STYLE
All EObject references will be uniformly encoded as one or more QName URI pairs, where the QName is optional depending on whether the referenced object's type is not identicle to that of the feature. This option on save and load means the same: if it is set to true, "href" attributes will be treated as actual data - i.e. as if your model had a feature named "href".

See Also:
Constant Field Values

OPTION_FORMATTED

public static final String OPTION_FORMATTED
Break lines and add indentation to produce a readable document. The default is Boolean.TRUE unless set to Boolean.FALSE explicitly.

See Also:
Constant Field Values

OPTION_LINE_WIDTH

public static final String OPTION_LINE_WIDTH
Attribute formatting that exceeds the specified width will cause a line break so that formatting will continue indented on the next line.

See Also:
Constant Field Values

OPTION_DECLARE_XML

public static final String OPTION_DECLARE_XML
Begin a save with this line:

See Also:
Constant Field Values

OPTION_KEEP_DEFAULT_CONTENT

public static final String OPTION_KEEP_DEFAULT_CONTENT
Keep default content ( e.g. default attributes). This applies to saving and converting contents to DOM. By default the default content is discarded. To save the default content, set this option to Boolean.TRUE.

See Also:
Constant Field Values

OPTION_SAVE_DOCTYPE

public static final String OPTION_SAVE_DOCTYPE
Save a doctype declaration using systemId and publicId values specified on the resource

See Also:
getSystemId(), getPublicId(), setDoctypeInfo(String,String), Constant Field Values

OPTION_SKIP_ESCAPE

public static final String OPTION_SKIP_ESCAPE
Skip processing for values that contain characters special to XML Faster for large computer-generated files

See Also:
Constant Field Values

OPTION_SKIP_ESCAPE_URI

public static final String OPTION_SKIP_ESCAPE_URI
Skip escaping special characters, such as '&' char, in URIs during XML serialization. The default is Boolean.TRUE. To enforce escaping special characters, set this option to Boolean.FALSE.

See Also:
Constant Field Values

OPTION_PROCESS_DANGLING_HREF

public static final String OPTION_PROCESS_DANGLING_HREF
This can be one of "THROW", "DISCARD", "RECORD", where "THROW" is the default.

See Also:
Constant Field Values

OPTION_PROCESS_DANGLING_HREF_THROW

public static final String OPTION_PROCESS_DANGLING_HREF_THROW
See Also:
Constant Field Values

OPTION_PROCESS_DANGLING_HREF_DISCARD

public static final String OPTION_PROCESS_DANGLING_HREF_DISCARD
See Also:
Constant Field Values

OPTION_PROCESS_DANGLING_HREF_RECORD

public static final String OPTION_PROCESS_DANGLING_HREF_RECORD
See Also:
Constant Field Values

OPTION_RECORD_UNKNOWN_FEATURE

public static final String OPTION_RECORD_UNKNOWN_FEATURE
This options allows you to record unknown features during deserialization/loading. The default is Boolean.FALSE unless set to Boolean.TRUE explicitly. The unknown features and their values can be accessed via getEObjectToExtensionMap().

See Also:
{@link #getEObjectToExtensionMap}, Constant Field Values

OPTION_LAX_FEATURE_PROCESSING

public static final String OPTION_LAX_FEATURE_PROCESSING
Turn this load option on to indicate that a feature should be populated from either an attribute or an element even if its feature kind is specified (e.g. element). The default is Boolean.FALSE unless set to Boolean.TRUE explicitly.

See Also:
Constant Field Values

OPTION_XML_OPTIONS

public static final String OPTION_XML_OPTIONS
Allows the user to specify XML options XMLOptions and default implementation you can use XMLOptionsImpl

See Also:
Constant Field Values

OPTION_DISABLE_NOTIFY

public static final String OPTION_DISABLE_NOTIFY
Disable notifications during load, and enable them at the end of a load.

See Also:
Constant Field Values

OPTION_SCHEMA_LOCATION

public static final String OPTION_SCHEMA_LOCATION
Produce an xsi:schemaLocation/xsi:noNamespaceSchemaLocation in the saved result.

See Also:
Constant Field Values

OPTION_SCHEMA_LOCATION_IMPLEMENTATION

public static final String OPTION_SCHEMA_LOCATION_IMPLEMENTATION
Produce an xsi:schemaLocation/xsi:noNamespaceSchemaLocation in the saved result to encode the name of the Java interface that declares the eINSTANCE of the EPackage implementation for those cases where OPTION_SCHEMA_LOCATION would not produce a physical location URI.

See Also:
Constant Field Values

OPTION_ENCODING

public static final String OPTION_ENCODING
Specify the XML encoding to be used during save.

See Also:
Constant Field Values

OPTION_XML_VERSION

public static final String OPTION_XML_VERSION
Specify the XML version to be used during save.

See Also:
Constant Field Values

OPTION_RECORD_ANY_TYPE_NAMESPACE_DECLARATIONS

public static final String OPTION_RECORD_ANY_TYPE_NAMESPACE_DECLARATIONS
Enable preserving namespace declarations on elements of type AnyType

See Also:
Constant Field Values

OPTION_FLUSH_THRESHOLD

public static final String OPTION_FLUSH_THRESHOLD
Flush the output stream whenever the number of characters/bytes pending exceeds the specified Integer value. This helps to reduce memory requirements for serializing a large file, but it's slower. The default value is Integer.MAX_VALUE. I.e., the stream is never flushed.

See Also:
Constant Field Values

OPTION_USE_FILE_BUFFER

public static final String OPTION_USE_FILE_BUFFER
Write the intermediate results of serialization to the file system rather to an in-memory buffer. This helps to reduce memory requirements for serializing a large file, but it's slower. The default is Boolean.FALSE unless set to Boolean.TRUE explicitly.

See Also:
Constant Field Values

OPTION_DEFER_IDREF_RESOLUTION

public static final String OPTION_DEFER_IDREF_RESOLUTION
Defer resolution of same document references until the end of the document is reached.

See Also:
Constant Field Values

OPTION_RESOURCE_HANDLER

public static final String OPTION_RESOURCE_HANDLER
Implementations can register the resource handler to receive call backs for loading from InputStream or saving to OutputStream resources. The value of this option must be a class that extends the BasicResourceHandler class.

See Also:
XMLResource.ResourceHandler, BasicResourceHandler, Constant Field Values

OPTION_DEFER_ATTACHMENT

public static final String OPTION_DEFER_ATTACHMENT
Defer adding the root object to the resource until the end of the load when the tree is complete. The default value is Boolean.FALSE. It's often a good idea to set OPTION_DEFER_IDREF_RESOLUTION true Boolean.TRUE if this option is set to Boolean.TRUE.

See Also:
Constant Field Values

HREF

public static final String HREF
See Also:
Constant Field Values

NIL

public static final String NIL
See Also:
Constant Field Values

TYPE

public static final String TYPE
See Also:
Constant Field Values

SCHEMA_LOCATION

public static final String SCHEMA_LOCATION
See Also:
Constant Field Values

NO_NAMESPACE_SCHEMA_LOCATION

public static final String NO_NAMESPACE_SCHEMA_LOCATION
See Also:
Constant Field Values

XML_NS

public static final String XML_NS
See Also:
Constant Field Values

XSI_NS

public static final String XSI_NS
See Also:
Constant Field Values

XSI_URI

public static final String XSI_URI
See Also:
Constant Field Values

XML_SCHEMA_URI

public static final String XML_SCHEMA_URI
See Also:
Constant Field Values
Method Detail

useZip

public boolean useZip()
Returns whether the contents will be zipped.


setUseZip

public void setUseZip(boolean useZip)
Set whether the contents will be zipped.


getDefaultSaveOptions

public Map getDefaultSaveOptions()
Returns the map of options that, in addition to the overriding options specified during save, are used to to control save behavior.


getDefaultLoadOptions

public Map getDefaultLoadOptions()
Returns the map of options that, in addition to the overriding options specified during load, are used to to control load behavior.


getPublicId

public String getPublicId()
Returns public identifier specified on the doctype.


getSystemId

public String getSystemId()
Returns system identifier specified on the doctype.


setDoctypeInfo

public void setDoctypeInfo(String publicId,
                           String systemId)
Sets the values of system and public identifiers on this resource.

Parameters:
publicId -
systemId -

getEncoding

public String getEncoding()
Get the XML encoding for this resource. The default is ASCII.


setEncoding

public void setEncoding(String encoding)
Set the XML encoding for this resource.


getXMLVersion

public String getXMLVersion()
Get the XML version for this resource. The default is 1.0.

Returns:

setXMLVersion

public void setXMLVersion(String version)
Set the XML version for this resource


getIDToEObjectMap

public Map getIDToEObjectMap()
Deprecated. since 2.1.0 This map should not be manipulated directly. Use setID(EObject, String) and getID(EObject) or Resource.getEObject(String) instead. This method may be removed from this interface.

Returns the Map with IDs as keys and EObjects as values.


getEObjectToIDMap

public Map getEObjectToIDMap()
Deprecated. since 2.1.0 This map should not be manipulated directly. Use setID(EObject, String) and getID(EObject) or Resource.getEObject(String) instead. This method may be removed from this interface.

Returns the Map of EObjects as keys and IDs as values.


getID

public String getID(EObject eObject)
Returns the ID that was assigned with setID(EObject, String); if there is no ID, it returns null.


setID

public void setID(EObject eObject,
                  String id)
Sets the ID for the given object. If you are storing the ID with the object itself, you should override this method. You can remove the ID of a given eObject by using null as the id value.


getEObjectToExtensionMap

public Map getEObjectToExtensionMap()
Returns the map with EObject as keys and corresponding AnyTypes as the values. It's used to record unrecognized elements and attributes.


save

public Document save(Document document,
                     Map options,
                     DOMHandler handler)
Create a DOM tree representing contents of this resource.

Parameters:
document - an empty Document to use or null. If no document is specified, the new Document will be created using JAXP API.
options - the "save" options
handler - the DOMHandler to record mappings or null. If no DOMHandler is passed, the default DOMHandler will be created.
Returns:
the Document. In the case the document is specified as a parameter, the returned document is the same as the one specified, otherwise the newly created document is returned.
Since:
2.1.0

save

public void save(Writer writer,
                 Map options)
          throws IOException
Saves the resource to the writer using the specified options.

Parameters:
writer - the writer
options - the save options.
Throws:
IOException

getDOMHelper

public DOMHelper getDOMHelper()
Returns the DOMHelper

Since:
2.1.0

load

public void load(Node node,
                 Map options)
          throws IOException
Loads the resource from the DOM node, either an Element or Document, using the specified options.

This method assumes that no namespace fixup needs to be done. To process comments and CDATA section nodes, please set XMLResource.OPTION_USE_LEXICAL_HANDLER option to Boolean.TRUE.

Parameters:
node - DOM Element or Document node.
options - the load options.
Throws:
IOException
Since:
2.1.0
See Also:
save(Document, Map, DOMHandler)

load

public void load(InputSource inputSource,
                 Map options)
          throws IOException
Throws:
IOException

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.