TransferDataSetManagerProvider
| Property | Value |
|---|---|
| Interface Type | extra-decision |
| Full Class Name | com.fr.decision.fun.TransferDataSetManagerProvider |
Background and Use Cases
FineReport traditionally requires local design before deployment to a server. For users without remote design capabilities, managing data connections and server-side datasets involves repetitive manual operations. Version 10.0 introduced dataset import/export functionality, and this interface enables custom dataset plugins to also support import/export.
Interface Definition
package com.fr.decision.fun;
import com.fr.stable.fun.mark.Mutable;
public interface TransferDataSetManagerProvider<T extends TableData>
extends Mutable, TransferDataSetManager<T> {
String XML_TAG = "TransferDataSetManagerProvider";
int CURRENT_LEVEL = 1;
}
package com.fr.decision.webservice.v10.datasource.dataset.manage;
public interface TransferDataSetManager<T extends TableData> {
Class<? extends TableData> getDataSetClass();
String serialize(T t);
T deserialize(String str);
String[] getDependencyPaths(T t);
}
Supported Versions
| Product Line | Version | Support |
|---|---|---|
| FR | 10.0 | Supported |
| FR | 11.0 | Supported |
Plugin Registration
Add the following node to plugin.xml:
<extra-decision>
<TransferDataSetManagerProvider class="your class name"/>
</extra-decision>
How It Works
TransferDataSetFactory maintains a registry mapping dataset classes to their managers. For serialization, you can reuse existing readXML/writeXML implementations:
GeneralXMLTools.writeXMLableAsString(ds)
GeneralXMLTools.readStringAsXMLable(config, ds)
The getDependencyPaths method returns only the file paths required by the dataset's dependencies during export.