blob: 21edc9e46bb227040bcefea55ecbca09411075c8 [file] [log] [blame]
/**************************************************************
*
* 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.
*
*************************************************************/
#ifndef __com_sun_star_configuration_backend_DataImporter_idl__
#define __com_sun_star_configuration_backend_DataImporter_idl__
#ifndef __com_sun_star_task_XJob_idl__
#include <com/sun/star/task/XJob.idl>
#endif
//=============================================================================
module com { module sun { module star { module configuration { module backend {
//=============================================================================
/**
allows importing data from one configuration repository into another. .
@since OpenOffice 1.1.2
*/
published service DataImporter
{
//-------------------------------------------------------------------------
/** allows running an import job
<p> The source and destination repositories are selected by arguments
passed to
<member scope="com::sun::star::task">XJob::execute()</member>.
The names and meanings of such arguments depend on
the implementation. Each implementation must document such arguments.
</p>
<p> Implementations may return a value from
<member scope="com::sun::star::task">XJob::execute()</member>
that indicates the status of job execution. The type and meaning of
such status indicators depend on the implementation.
</p>
<p>If <void/> or <TRUE/> is returned, this indicates successful
execution. If an
<type scope="com::sun::star::uno">Exception</type> is returned,
it represents an error condition encountered during execution.
</p>
<p> The following arguments to
<member scope="com::sun::star::task">XJob::execute()</member>
should be supported by implementations. Implementations must document
a failure to support any of these arguments:
<dl>
<dt><code>ImporterService</code> : <atom >string</atom></dt>
<dd>A service or implementation name used to instantiate the
<type>Importer</type> to use for importing. If this parameter
is missing, the implementation selects an appropriate importer.
By default, a <type>MergeImporter</type> should be used.
</dd>
<dt><code>OverwriteExisting</code> : <atom >boolean</atom></dt>
<dd>If <TRUE/>, specifies that no existing data should be
overwritten by the import. If the <type>Importer</type> used
does not support such protection, an error may be raised.
If some data is not imported, because there is existing
data, this is indicated by returning an appropriate exception.
</dd>
<dt><code>TruncateExisting</code> : <atom >boolean</atom></dt>
<dd>If <TRUE/>, specifies that existing data should be
discarded and replaced by the imported data.
If the <type>Importer</type> used does not support this
operation, an error may be raised.
By default, a <type>CopyImporter</type> is used to perform
truncating import.
</dd>
<dt><code>Entity</code> : <atom >string</atom></dt>
<dd>An identifier for the entity in the destination backend for
which the imported data should apply. The value will be passed
to <member>XLayerImporter::importLayerForEntity()</member>.
If this parameter is missing, the implementation uses
<member>XLayerImporter::importLayer()</member> instead.
</dd>
<dt><code>Component</code> : <atom >string</atom></dt>
<dd>Names the component for which to import data. If this
parameter is missing, the selection of data to import depends
on implementation-specific parameters.
</dd>
<dt><code>LayerFilter</code> : <type >LayerFilter</type></dt>
<dd>A filter to transform data during import. This parameter is
optional. If this parameter is missing, data will be imported
unaltered. <em>Support for this parameter is optional.</em>
If the implementation does not support a filter it will raise an
<type scope="com::sun::star::lang">IllegalArgumentException</type>.
</dd>
</dl>
</p>
*/
interface com::sun::star::task::XJob ;
//-------------------------------------------------------------------------
} ;
//=============================================================================
} ; } ; } ; } ; } ;
#endif