19#ifndef INCLUDED_CONNECTIVITY_PARAMETERS_HXX
20#define INCLUDED_CONNECTIVITY_PARAMETERS_HXX
26#include <com/sun/star/sdb/XSingleSelectQueryComposer.hpp>
52 typedef ::utl::SharedUNOComponent< css::sdb::XSingleSelectQueryComposer, ::utl::DisposableComponent >
85 css::uno::Reference< css::beans::XPropertySet >
93 ,xComposerColumn (
std::move( _xColumn ))
104 css::uno::Reference< css::uno::XComponentContext >
107 css::uno::WeakReference< css::beans::XPropertySet >
109 css::uno::Reference< css::uno::XAggregation >
111 css::uno::Reference< css::sdbc::XParameters >
115 css::uno::Reference< css::container::XIndexAccess >
140 ::osl::Mutex& _rMutex,
141 const css::uno::Reference< css::uno::XComponentContext >& _rxContext
146 const css::uno::Reference< css::beans::XPropertySet >& _rxComponent,
147 const css::uno::Reference< css::uno::XAggregation >& _rxComponentAggregate
154 void clearAllParameterInformation();
180 bool fillParameterValues(
181 const css::uno::Reference< css::task::XInteractionHandler >& _rxCompletionHandler,
182 ::osl::ResettableMutexGuard& _rClearForNotifies
190 void setAllParametersNull();
201 void resetParameterValues();
205 void addParameterListener(
206 const css::uno::Reference< css::form::XDatabaseParameterListener >& _rxListener
211 void removeParameterListener(
212 const css::uno::Reference< css::form::XDatabaseParameterListener >& _rxListener
216 void setNull ( sal_Int32 _nIndex, sal_Int32 sqlType);
217 void setObjectNull ( sal_Int32 _nIndex, sal_Int32 sqlType,
const OUString&
typeName);
218 void setBoolean ( sal_Int32 _nIndex,
bool x);
219 void setByte ( sal_Int32 _nIndex,
sal_Int8 x);
220 void setShort ( sal_Int32 _nIndex, sal_Int16 x);
221 void setInt ( sal_Int32 _nIndex, sal_Int32 x);
222 void setLong ( sal_Int32 _nIndex, sal_Int64 x);
223 void setFloat ( sal_Int32 _nIndex,
float x);
224 void setDouble ( sal_Int32 _nIndex,
double x);
225 void setString ( sal_Int32 _nIndex,
const OUString& x);
226 void setBytes ( sal_Int32 _nIndex,
const css::uno::Sequence< sal_Int8 >& x);
227 void setDate ( sal_Int32 _nIndex,
const css::util::Date& x);
228 void setTime ( sal_Int32 _nIndex,
const css::util::Time& x);
229 void setTimestamp ( sal_Int32 _nIndex,
const css::util::DateTime& x);
230 void setBinaryStream ( sal_Int32 _nIndex,
const css::uno::Reference< css::io::XInputStream>& x, sal_Int32 length);
231 void setCharacterStream ( sal_Int32 _nIndex,
const css::uno::Reference< css::io::XInputStream>& x, sal_Int32 length);
232 void setObject ( sal_Int32 _nIndex,
const css::uno::Any& x);
233 void setObjectWithInfo ( sal_Int32 _nIndex,
const css::uno::Any& x, sal_Int32 targetSqlType, sal_Int32
scale);
234 void setRef ( sal_Int32 _nIndex,
const css::uno::Reference< css::sdbc::XRef>& x);
235 void setBlob ( sal_Int32 _nIndex,
const css::uno::Reference< css::sdbc::XBlob>& x);
236 void setClob ( sal_Int32 _nIndex,
const css::uno::Reference< css::sdbc::XClob>& x);
237 void setArray ( sal_Int32 _nIndex,
const css::uno::Reference< css::sdbc::XArray>& x);
238 void clearParameters();
242 bool isAlive()
const {
return m_xComponent.get().is() && m_xInnerParamUpdate.is(); }
247 createFilterConditionFromColumnLink(
248 const OUString& _rMasterColumn,
249 const css::uno::Reference< css::beans::XPropertySet >& xDetailColumn,
250 OUString& _rNewParamName
264 bool initializeComposerByComponent(
265 const css::uno::Reference< css::beans::XPropertySet >& _rxComponent
278 void collectInnerParameters(
bool _bSecondRun );
291 void analyzeFieldLinks(
FilterManager& _rFilterManager,
bool& _rColumnsInLinkDetails );
315 const css::uno::Reference< css::container::XNameAccess >& _rxParentColumns,
316 const css::uno::Reference< css::container::XNameAccess >& _rxColumns,
317 ::std::vector< OUString >& _out_rAdditionalFilterComponents,
318 ::std::vector< OUString >& _out_rAdditionalHavingComponents
329 void createOuterParameters();
339 void fillLinkedParameters(
340 const css::uno::Reference< css::container::XNameAccess >& _rxParentColumns
351 bool completeParameters(
352 const css::uno::Reference< css::task::XInteractionHandler >& _rxCompletionHandler,
353 const css::uno::Reference< css::sdbc::XConnection >& _rxConnection
364 bool consultParameterListeners( ::osl::ResettableMutexGuard& _rClearForNotifies );
368 void externalParameterVisited( sal_Int32 _nIndex );
378 bool getParentColumns(
379 css::uno::Reference< css::container::XNameAccess >& _out_rxParentColumns,
391 css::uno::Reference< css::container::XNameAccess >& _rxColumns,
398 css::uno::Reference< css::sdbc::XConnection >& _rxConnection
403 void cacheConnectionInfo();
class SAL_NO_VTABLE XPropertySet