/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* 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 .
*/
module com { module sun { module star { module sdb {
/** descriptor for accessing basic data access objects.
< p > Various components interacting with the database access world require to specify ( or provide themselves ) an object
such as a query , a table , a result set , a connection to a data source , a column within a table , and so on . < br / >
All of these objects are usually not specified with a single property , but with a set of properties , and for
various objects , various ( but not always different ) properties are needed . < br / >
The < code > DataAccessDescriptor < / code > describes the super set of the properties for the most common
data access objects . < / p >
< p > Every component providing or requiring a DataAccessDescriptor for some functionality
is urged to specify which properties are mandatory , and which ones optional . Additionally ,
it ' s free to specify any additional requirements about the relations of properties . < / p >
@ since OOo 1 . 1 . 2
*/
published service DataAccessDescriptor
{
/** specifies the name of the datasource to access.
< p > This data source is usually used to create a Connection . If no DataSourceName is given
and the # DatabaseLocation and the # ConnectionResource are empty , then an # ActiveConnection
is required . < / p >
@ see com : : sun : : star : : sdb : : DatabaseContext
@ see ActiveConnection
*/
[optional, property] string DataSourceName;
/** specifies the URL of the database file.
< p > This database location is usually used to create a Connection . If no DatabaseLocation is given
and the # ConnectionResource is empty , then an # ActiveConnection is required . < / p >
@ see com : : sun : : star : : sdb : : DatabaseContext
@ see ActiveConnection
*/
[optional, property] string DatabaseLocation;
/** specifies the database URL which locates a database driver.
< p > This database URL is usually used to create a Connection . If no ConnectionResource is given ,
then an # ActiveConnection is required . < / p >
@ see com : : sun : : star : : sdb : : DatabaseContext
@ see ActiveConnection
*/
[optional, property] string ConnectionResource;
/** specifies additional info to use when creating a connection from a <code>ConnectionResource</code>
< p > This member is evaluated only when < code > ConnectionResource < / code > is used : In this case ,
com : : sun : : star : : sdbc : : XDriverManager : : getConnectionWithInfo ( ) is used
to create a connection for the given connection resource , instead of
com : : sun : : star : : sdbc : : XDriverManager : : getConnection ( ) . < / p >
< p > If the sequence is empty , it is ignored . < / p >
*/
[optional, property] sequence< ::com::sun::star::beans::PropertyValue > ConnectionInfo;
/** is a connection to use.
< p > This object is guaranteed to be a com : : sun : : star : : sdbc : : Connection , but usually
it will be a Connection from the module com : : sun : : star : : sdb . < br / >
Especially in the case where no # DataSourceName is given , but
# CommandType is CommandType : : QUERY , the ActiveConnection needs
to fully support the Connection service , to actually retrieve the query specified by
# Command < / p >
< p > If no ActiveConnection is given , then a # DataSourceName is required . < / p >
@ see DataSourceName
*/
[optional, property] com::sun::star::sdbc::XConnection ActiveConnection;
/** specifies the command to execute to retrieve a result set.
< p > This property is only meaningful together with the # CommandType
property , thus either < em > both < / em > or < em > none < / em > of them are present . < / p >
@ see CommandType
*/
[optional, property] string Command;
/** specifies the type of the command to be executed to retrieve a result set.
< p > # Command needs to be interpreted depending on the value of this property . < / p >
< p > This property is only meaningful together with the # Command
property , thus either < em > both < / em > or < em > none < / em > of them are present . < / p >
@ see com : : sun : : star : : sdb : : CommandType
*/
[optional, property] long CommandType;
/** specifies an additional filter to optionally use.
< p > The Filter string has to form a < code > WHERE < / code > - clause , < em > without < / em > the
< code > WHERE < / code > - string itself . < / p >
< p > If a # DataSourceName , # Command and # CommandType
are specified , a RowSet can be created with this information . If the results provided by the
row set are to be additionally filtered , the Filter property can be used . < / p >
< p > Note that the Filter property does not make sense if a # ResultSet has been specified
in the DataAccessDescriptor . < / p >
@ see com : : sun : : star : : sdb : : RowSet
@ see ResultSet
*/
[optional, property] string Filter;
/** specifies an additional <code>ORDER BY</code> clause which should be applied on top of
the given # Command .
< p > The keyword < code > ORDER BY < / code > itself is not part of this property . < / p >
*/
[optional, property] string Order;
/** specifies an additional <code>HAVING</code> clause which should be applied on top of
the given # Command .
< p > The keyword < code > HAVING < / code > itself is not part of this property . < / p >
*/
[optional, property] string HavingClause;
/** specifies an additional <code>GROUP BY</code> clause which should be applied on top of
the given # Command .
< p > The keyword < code > GROUP BY < / code > itself is not part of this property . < / p >
*/
[optional, property] string GroupBy;
/** specifies if the #Command should be analyzed on the client side before sending it
to the database server .
< p > The default value of this property is ` TRUE ` . By switching it to ` FALSE ` , you can pass
backend - specific SQL statements , which are not standard SQL , to your database . < / p >
< p > This property is usually present together with the # Command and
# CommandType properties , and is evaluated if and only if # CommandType
equals CommandType : : COMMAND . < / p >
*/
[optional, property] boolean EscapeProcessing;
/** specifies an already existent result set to use.
< p > Usually , you use the properties # DataSourceName ( alternatively
# ActiveConnection ) , # Command and # CommandType to specify
how to < em > obtain < / em > a result set . However , in scenarios where the provider of a DataAccessDescriptor
has access to an already existent result set , it can pass it along for reusage . This is encouraged
to increase performance . < / p >
< p > The object will at least support the com : : sun : : star : : sdbc : : ResultSet service . < / p >
< p > Note that any superservices of com : : sun : : star : : sdbc : : ResultSet
are also allowed . Especially , this member can denote an instance of the
com : : sun : : star : : sdb : : RowSet , or an instance obtained
by calling com : : sun : : star : : sdb : : XResultSetAccess : : createResultSet ( )
on such a com : : sun : : star : : sdb : : RowSet . This becomes important in
conjunction with the # Selection property . < / p >
@ see com : : sun : : star : : sdb : : XResultSetAccess
*/
[optional, property] com::sun::star::sdbc::XResultSet ResultSet;
/** specifies a selection to confine the records in a result set.
< p > When you specify a result set either implicitly ( # DataSourceName , # Command ,
# CommandType ) or explicitly ( # ResultSet ) , the set of results can be
additionally refined with this property . < / p >
< p > The single elements of the # Selection are either record numbers ( see
com : : sun : : star : : sdbc : : XResultSet : : getRow ( ) ) , or bookmarks ( see
com : : sun : : star : : sdbcx : : XRowLocate : : getBookmark ( ) ) . < br / >
It is up to the component which provides or requires a DataAccessDescriptor to specify which of the
two alternatives it expects . If it does < em > not < / em > specify this , then the property
# BookmarkSelection becomes mandatory . < / p >
< p > If the elements specify bookmarks , and a # ResultSet has been specified , then
this result set is required to support the com : : sun : : star : : sdbcx : : XRowLocate interface . < / p >
*/
[optional, property] sequence< any > Selection;
/** specifies how to interpret #Selection
< p > If present , # BookmarkSelection specifies the semantics of # Selection . If
not present , it ' s up to the implementing component to specify this semantics . < / p >
< p > If ` TRUE ` , then the single elements of the array specified by # Selection are
bookmarks relative to the result set , if ` FALSE ` , they ' re record numbers . < / p >
@ see com : : sun : : star : : sdbcx : : XRowLocate
@ see com : : sun : : star : : sdbc : : XResultSet
@ see com : : sun : : star : : sdb : : XResultSetAccess
*/
[optional, property] boolean BookmarkSelection;
/** specifies a column name.
< p > This property is usually used together with the # Command and
# CommandType properties . < / p >
@ see Column
*/
[optional, property] string ColumnName;
/** specifies a column object
< p > For reasons of performance and saving resources , a supplier of an DataAccessDescriptor which is
used to describe a column object can pass this object directly , instead of specifying it only implicitly
with the # ColumnName property . < / p >
< p > The object will at least support the com : : sun : : star : : sdbcx : : Column service , but more
often it will even be a Column from the com : : sun : : star : : sdb module . < / p >
*/
[optional, property] com::sun::star::beans::XPropertySet Column;
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-04)
¤
*© Formatika GbR, Deutschland