1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2<!--
3#**************************************************************
4#
5#  Licensed to the Apache Software Foundation (ASF) under one
6#  or more contributor license agreements.  See the NOTICE file
7#  distributed with this work for additional information
8#  regarding copyright ownership.  The ASF licenses this file
9#  to you under the Apache License, Version 2.0 (the
10#  "License"); you may not use this file except in compliance
11#  with the License.  You may obtain a copy of the License at
12#
13#    http://www.apache.org/licenses/LICENSE-2.0
14#
15#  Unless required by applicable law or agreed to in writing,
16#  software distributed under the License is distributed on an
17#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18#  KIND, either express or implied.  See the License for the
19#  specific language governing permissions and limitations
20#  under the License.
21#
22#**************************************************************
23 -->
24<html>
25<head>
26<title>org.openoffice.xmerge.util.registry package</title>
27</head>
28
29<body bgcolor="white">
30
31<p>Provides an interface for plug-in registration.  Each plug-in must
32have a corresponding Plugin Configuration XML File which is named
33converter.xml.  If the plug-in is stored in a jarfile, this
34converter.xml file is typically stored in the following location in
35the jarfile:</p>
36
37<blockquote>
38 META-INF/converter.xml
39</blockquote>
40
41<p>The Plugin Configuration XML File must validate against the
42converter.dtd file provided with this package.  Since a jarfile
43can contain multiple plug-ins, this DTD supports specifying multiple
44plug-ins per jarfile.  Please refer to the SDK document for more
45information about how to implement a Plugin Configuration XML File
46for a specific plugin.</p>
47
48<p>All information in the Plugin Configuratino XML File is bundled
49into one or more <code>ConverterInfo</code> object.  The
50<code>ConverterInfoReader</code> object is used to build a
51<code>Vector</code> of <code>ConverterInfo</code> objects from a
52jarfile.</p>
53
54<p>The <code>ConverterInfoMgr</code> manages the registry of
55<code>ConverterInfo</code>.  It is a singleton class, so that only one
56registry manager will ever exist.  It is the client program's
57responsibility to register <code>ConverterInfo</code> objects that
58correspond to the plug-ins that are to be used.</p>
59
60<h2>TODO/IDEAS list</h2>
61
62<p><ol>
63<li>The <code>ConverterInfo</code> object could contain
64    <code>org.w3c.dom.Document</code> fragments that are accessed in a
65    generic fashion rather than get/set methods for each item in the DTD.
66    This would provide a more flexible approach, especially for adding
67    custom tags to a specific Plugin Configuration XML file (tags that
68    are only used by its associated plug-in).
69<li><code>ConverterInfo</code> should allow the merge/serialize/deserialize
70    logic to be included in separate plug-ins, if desired.</li>
71<li><code>ConverterInfoMgr</code> could use the Java Activation
72    Framework (JAF) to manage registration.</li>
73</ol></p>
74
75</body>
76</html>
77