xref: /aoo41x/main/offapi/com/sun/star/sdbcx/Table.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_sdbcx_Table_idl__
28#define __com_sun_star_sdbcx_Table_idl__
29
30#ifndef __com_sun_star_beans_XPropertySet_idl__
31#include <com/sun/star/beans/XPropertySet.idl>
32#endif
33
34 module com {  module sun {  module star {  module sdbcx {
35
36 published interface XDataDescriptorFactory;
37 published interface XColumnsSupplier;
38 published interface XIndexesSupplier;
39 published interface XKeysSupplier;
40 published interface XRename;
41 published interface XAlterTable;
42
43
44/** used to specify a table in a database. A table is described by its
45	name and one or more columns.
46
47	<p>
48	In addition, it may contain indexes to improve the performance in
49	the retrieval of the table's data and keys, and to define semantic rules for the table.
50	</p>
51	<p>
52	<b>
53	Note:
54	</b>
55	All properties and columns of a table could by modified before
56	it is appended to a database. In that case, the service is in fact a
57	descriptor. On existing tables, a user might alter columns, add or delete
58	columns, indexes, and keys depending on the capabilities of the database and on
59	the user's privileges.
60	</p>
61
62	@see com::sun::star::sdbc::XDatabaseMetaData
63	@see com::sun::star::sdbcx::Privilege
64 */
65published service Table
66{
67
68	/** optional, could be used to copy an table.
69	 */
70	[optional] interface XDataDescriptorFactory;
71
72
73	/** access to the contained table columns.
74	 */
75	interface XColumnsSupplier;
76
77
78	/** optional, provides the access of the table indexes.
79	 */
80	[optional] interface XIndexesSupplier;
81
82
83	/** optional, provides the access to the table keys.
84	 */
85	[optional] interface XKeysSupplier;
86
87
88	/** optional, allows the renaming of tables.
89	 */
90	[optional] interface XRename;
91
92
93	/** optional, allows the altering of columns.
94	 */
95	[optional] interface XAlterTable;
96
97	// gives access to the properties
98	interface com::sun::star::beans::XPropertySet;
99
100
101	/** is the name of the table.
102	 */
103	[readonly, property] string Name;
104
105
106	/** is the name of the table catalog.
107	 */
108	[readonly, property] string CatalogName;
109
110
111	/** is the name of the table schema.
112	 */
113	[readonly, property] string SchemaName;
114
115
116	/** supplies a comment on the table. Could be empty, if not supported by
117		the driver.
118	 */
119	[readonly, property] string Description;
120
121
122	/** indicates the type of the table like (TABLE, VIEW, SYSTEM TABLE).
123		Could be empty, if not supported by the driver.
124	 */
125	[optional, readonly, property] string Type;
126};
127
128//=============================================================================
129
130}; }; }; };
131
132/*===========================================================================
133===========================================================================*/
134#endif
135