OpenOffice.org
XMerge API

org.openoffice.xmerge
Class PluginFactory

java.lang.Object
  |
  +--org.openoffice.xmerge.PluginFactory
Direct Known Subclasses:
PluginFactoryImpl, SxcPluginFactory, SxwPluginFactory

public abstract class PluginFactory
extends java.lang.Object

A PluginFactory encapsulates the conversions from one Document format to another. It provides conversions in both directions. Refer to the package description for its usage.

Conversion from the "Office" Document format to a "Device" Document format may be lossy, i.e. some information may be lost. If a plug-in implements the DocumentMergerFactory interface, then there is the possibility for merging the changes done on the "Device" Document back to the original "Office" Document via the DocumentMerger interface.

Plug-ins that convert from the "Device" Document format to the "Office" Document format must implement the DocumentDeserializerFactory interface. Plug-ins that convert from the "Office" Document format to the "Device" format must implement the DocumentSerializerFactory interface.

All plug-ins should have an associated Plugin Configuration XML File which describes the capabilities of the plug-in. If the plug-in is bundled in a jarfile, then this XML file is also bundled with the jarfile. The data in the XML file is managed by the ConverterInfo object. The ConverterInfoMgr manages a registry of all ConverterInfo objects. For more information about this XML file, refer to org.openoffice.xmerge.util.registry.

See Also:
Document, DocumentSerializer, DocumentSerializerFactory, DocumentDeserializer, DocumentDeserializerFactory, DocumentMerger, DocumentMergerFactory, ConverterInfo, ConverterInfoMgr

Constructor Summary
PluginFactory(ConverterInfo ci)
          Constructor that caches the ConvertInfo that corresponds to the registry information for this plug-in.
 
Method Summary
abstract  Document createDeviceDocument(java.lang.String name, java.io.InputStream is)
          Create a Document object that corresponds to the device data passed in via the InputStream object.
abstract  Document createOfficeDocument(java.lang.String name, java.io.InputStream is)
          Create a Document object that corresponds to the Office data passed in via the InputStream object.
abstract  Document createOfficeDocument(java.lang.String name, java.io.InputStream is, boolean isZip)
          Create a Document object that corresponds to the Office data passed in via the InputStream object.
 ConverterInfo getConverterInfo()
          Returns the ConvertInfo that corresponds to this plug-in.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PluginFactory

public PluginFactory(ConverterInfo ci)
Constructor that caches the ConvertInfo that corresponds to the registry information for this plug-in.
Parameters:
ci - ConvertInfo object.
Method Detail

createDeviceDocument

public abstract Document createDeviceDocument(java.lang.String name,
                                              java.io.InputStream is)
                                       throws java.io.IOException

Create a Document object that corresponds to the device data passed in via the InputStream object. This abstract method must be implemented for each plug-in.

This method will read from the given InputStream object. The returned Document object will contain the necessary data for the other objects created by the PluginFactory to process, like a DocumentSerializer object and a DocumentMerger object.

Parameters:
name - The Document name.
is - InputStream object corresponding to the Document.
Returns:
A Document object representing the particular Document format for the PluginFactory.
Throws:
java.io.IOException - If any I/O error occurs.

createOfficeDocument

public abstract Document createOfficeDocument(java.lang.String name,
                                              java.io.InputStream is)
                                       throws java.io.IOException

Create a Document object that corresponds to the Office data passed in via the InputStream object. This abstract method must be implemented for each plug-in.

This method will read from the given InputStream object. The returned Document object will contain the necessary data for the other objects created by the PluginFactory to process, like a DocumentSerializer object and a DocumentMerger object.

Parameters:
name - The Document name.
is - InputStream object corresponding to the Document.
Returns:
A Document object representing the particular Document format for the PluginFactory.
Throws:
java.io.IOException - If any I/O error occurs.

createOfficeDocument

public abstract Document createOfficeDocument(java.lang.String name,
                                              java.io.InputStream is,
                                              boolean isZip)
                                       throws java.io.IOException

Create a Document object that corresponds to the Office data passed in via the InputStream object. This abstract method must be implemented for each plug-in.

This method will read from the given InputStream object. The returned Document object will contain the necessary data for the other objects created by the PluginFactory to process, like a DocumentSerializer object and a DocumentMerger object.

Parameters:
name - The Document name.
is - InputStream object corresponding to the Document.
isZip - boolean to show that the created office document is to be zipped.
Returns:
A Document object representing the particular Document format for the PluginFactory.
Throws:
java.io.IOException - If any I/O error occurs.

getConverterInfo

public ConverterInfo getConverterInfo()
Returns the ConvertInfo that corresponds to this plug-in.
Returns:
The ConvertInfo that corresponds to this plug-in.

OpenOffice.org
XMerge API

Copyright © 2002 OpenOffice.org