| /************************************************************** |
| * |
| * 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_sdb_application_XCopyTableWizard_idl__ |
| #define __com_sun_star_sdb_application_XCopyTableWizard_idl__ |
| |
| #ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ |
| #include <com/sun/star/ui/dialogs/XExecutableDialog.idl> |
| #endif |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| #ifndef __com_sun_star_beans_Optional_idl__ |
| #include <com/sun/star/beans/Optional.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module sdb { module application { |
| |
| interface XCopyTableListener; |
| |
| //============================================================================= |
| |
| /** describes a wizard which can be used to copy table like data from one |
| database to another. |
| |
| <p>Copying table data between databases can be a complex task. Especially when |
| it comes to matching field types in the source and in the target database, |
| some heuristics, and sometimes support from the user doing the operation, |
| are required.</p> |
| |
| <p>The <code>copy table wizard</code> described by this interfaces cares for those, |
| and other, settings.</p> |
| |
| @since OpenOffice 2.4 |
| */ |
| interface XCopyTableWizard : ::com::sun::star::ui::dialogs::XExecutableDialog |
| { |
| /** specifies the basic operation for the wizard to execute. |
| |
| <p>This must be one of the <type>CopyTableOperation</type> constants.</p> |
| |
| <p>At initialization time, you can use this attribute to control the |
| initial operation in the wizard.</p> |
| |
| <p>After the wizard has finished, you can use this attribute to determine |
| what operation was actually executed.</p> |
| |
| <p>Changing this attribute while the dialog is running is not supported, the |
| result of such an attempt is undefined.</p> |
| |
| @throws IllegalArgumentException |
| if you attempt to set an invalid operation, or if the given operation is |
| not supported by the target database type, e.g. if you specified |
| <member>CopyTableOperation::CreateAsView</member> where the database |
| does not support views. |
| */ |
| [attribute] short Operation |
| { |
| set raises ( ::com::sun::star::lang::IllegalArgumentException ); |
| }; |
| |
| /** specfies the name of the table in the destination database. |
| |
| <p>At initialization time, you can use this attribute to control the |
| initial table name as suggested to the user.</p> |
| |
| <p>After the wizard has finished, you can use this attribute to determine |
| what table was actually created resp. to which existing table the source |
| table's data was appended.</p> |
| |
| <p>Changing this attribute while the dialog is running is not supported, the |
| result of such an attempt is undefined.</p> |
| */ |
| [attribute] string DestinationTableName; |
| |
| /** specifies that a new primary key is to be created in the target database |
| |
| <p>At initialization time, you can specify the initial settings for the primary |
| key in the UI.</p> |
| |
| <p>You cannot use this attribute to determine the primary key, possibly created |
| by the wizard, after it finished. The reason is that during the wizard run, the |
| user can define an arbitrarily complex primary key, e.g. including multiple columns, |
| which cannot be represented in this simple attribute anymore.</p> |
| |
| <p>This attribute is ignored if <member>Operation</member> is |
| <member>CopyTableOperation::AppendData</member>.</p> |
| |
| <p>Changing this attribute while the dialog is running is not supported, the |
| result of such an attempt is undefined.</p> |
| |
| <p>When a primary key is to be created by the wizard, it will be be an auto-increment |
| column, if possible.</p> |
| |
| @throws ::com::sun::star::lang::IllegalArgumentException |
| if the target database does not support primary keys |
| */ |
| [attribute] ::com::sun::star::beans::Optional< string > |
| CreatePrimaryKey |
| { |
| set raises ( ::com::sun::star::lang::IllegalArgumentException ); |
| }; |
| |
| /** specifies that the first row should be used to identify column names. |
| |
| <p>This attribute is ignored when the source defines the column names which isn't the case when only a part of a table should be copied |
| e.g. in the RTF format or in the HTML format. |
| </p> |
| */ |
| [attribute] boolean UseHeaderLineAsColumnNames; |
| |
| /** adds a listener which is to be notified of progress in the copy operation |
| */ |
| void addCopyTableListener( [in] XCopyTableListener Listener ); |
| |
| /** removes a listener |
| */ |
| void removeCopyTableListener( [in] XCopyTableListener Listener ); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; }; |
| |
| //============================================================================= |
| |
| #endif |