25#include <com/sun/star/beans/PropertyAttribute.hpp>
26#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
27#include <com/sun/star/sdbc/SQLException.hpp>
43ORowSetDataColumn::ORowSetDataColumn(
const Reference < XResultSetMetaData >& _xMetaData,
44 const Reference < XRow >& _xRow,
45 const Reference < XRowUpdate >& _xRowUpdate,
47 const Reference< XDatabaseMetaData >& _rxDBMeta,
48 OUString i_sDescription,
50 std::function<
const ORowSetValue& (sal_Int32)> _getValue)
52 ,m_pGetValue(
std::move(_getValue))
53 ,m_sLabel(
std::move(i_sLabel))
54 ,m_aDescription(
std::move(i_sDescription))
67 css::uno::Sequence< css::beans::Property> aDescriptor
92 Sequence< Property > aRegisteredProperties;
93 describeProperties( aRegisteredProperties );
95 return new ::cppu::OPropertyArrayHelper( ::comphelper::concatSequences( aDescriptor, aRegisteredProperties ),
false );
112 catch(
const SQLException &e)
115 throw WrappedTargetRuntimeException(
"Could not retrieve column value: " + e.Message,
141 ODataColumn::setFastPropertyValue_NoBroadcast(
nHandle,rValue );
151 bool bModified =
false;
156 rConvertedValue = rValue;
158 bModified = rConvertedValue != rOldValue;
163 rConvertedValue = rValue;
165 bModified = rConvertedValue != rOldValue;
169 bModified = ODataColumn::convertFastPropertyValue(rConvertedValue, rOldValue,
nHandle, rValue);
178 return css::uno::Sequence<sal_Int8>();
184 if (
value != _rOldValue)
198 ::osl::Mutex& _rMutex,
199 const std::vector< OUString> &_rVector
200 ) :
connectivity::sdbcx::OCollection(_rParent,_bCase,_rMutex,_rVector)
201 ,m_aColumns(
std::move(_xColumns))
214 ::connectivity::OSQLColumns::Vector::const_iterator
first = ::connectivity::find(
m_aColumns->begin(),
m_aColumns->end(),_rName,aCase);
::cppu::IPropertyArrayHelper * getArrayHelper()
css::uno::Any makeAny() const
bool isCaseSensitive() const
void reFill(const ::std::vector< OUString > &_rVector)
css::uno::Type const & get()
void registerProperties(IPropertyContainer &_rPropertyContainer)
virtual void SAL_CALL updateObject(const css::uno::Any &x) override
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const override
mutable ::std::optional< sal_Bool > m_isReadOnly
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
css::uno::Any m_aOldValue
const std::function< const ::connectivity::ORowSetValue &(sal_Int32)> m_pGetValue
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
void fireValueChange(const ::connectivity::ORowSetValue &_rOldValue)
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const override
virtual ::cppu::IPropertyArrayHelper * createArrayHelper() const override
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue) override
virtual ~ORowSetDataColumn() override
virtual connectivity::sdbcx::ObjectType createObject(const OUString &_rName) override
virtual void disposing() override
virtual ~ORowSetDataColumns() override
virtual void impl_refresh() override
ORowSetDataColumns(bool _bCase, ::rtl::Reference< ::connectivity::OSQLColumns > _xColumns, ::cppu::OWeakObject &_rParent, ::osl::Mutex &_rMutex, const std::vector< OUString > &_rVector)
::rtl::Reference< ::connectivity::OSQLColumns > m_aColumns
void assign(const ::rtl::Reference< ::connectivity::OSQLColumns > &_rColumns, const std::vector< OUString > &_rVector)
css::uno::Reference< css::beans::XPropertySet > ObjectType
Any SAL_CALL getCaughtException()
constexpr OUStringLiteral first
#define PROPERTY_ID_ISSIGNED
#define PROPERTY_ID_DISPLAYSIZE
#define PROPERTY_ID_ISCASESENSITIVE
#define PROPERTY_ID_ISREADONLY
#define PROPERTY_ID_TABLENAME
#define PROPERTY_ID_DESCRIPTION
#define PROPERTY_ID_SERVICENAME
#define PROPERTY_ID_CATALOGNAME
#define PROPERTY_ID_ISWRITABLE
#define PROPERTY_ID_ISROWVERSION
#define PROPERTY_ID_ISSEARCHABLE
#define PROPERTY_ID_ISNULLABLE
#define PROPERTY_ID_PRECISION
#define PROPERTY_ID_LABEL
#define PROPERTY_ID_SCHEMANAME
#define PROPERTY_ID_ISAUTOINCREMENT
#define PROPERTY_ID_ISCURRENCY
#define PROPERTY_ID_TYPENAME
#define PROPERTY_ID_VALUE
#define PROPERTY_ID_ISDEFINITELYWRITABLE
#define PROPERTY_ID_SCALE
constexpr OUStringLiteral PROPERTY_ISAUTOINCREMENT(u"IsAutoIncrement")
constexpr OUStringLiteral PROPERTY_ISCURRENCY(u"IsCurrency")
constexpr OUStringLiteral PROPERTY_ISWRITABLE(u"IsWritable")
constexpr OUStringLiteral PROPERTY_PRECISION(u"Precision")
constexpr OUStringLiteral PROPERTY_SERVICENAME(u"ServiceName")
constexpr OUStringLiteral PROPERTY_ISREADONLY(u"IsReadOnly")
constexpr OUStringLiteral PROPERTY_TYPENAME(u"TypeName")
constexpr OUStringLiteral PROPERTY_LABEL(u"Label")
constexpr OUStringLiteral PROPERTY_ISROWVERSION(u"IsRowVersion")
constexpr OUStringLiteral PROPERTY_ISNULLABLE(u"IsNullable")
constexpr OUStringLiteral PROPERTY_SCHEMANAME(u"SchemaName")
constexpr OUStringLiteral PROPERTY_ISDEFINITELYWRITABLE(u"IsDefinitelyWritable")
constexpr OUStringLiteral PROPERTY_DESCRIPTION(u"Description")
constexpr OUStringLiteral PROPERTY_SCALE(u"Scale")
constexpr OUStringLiteral PROPERTY_ISSEARCHABLE(u"IsSearchable")
constexpr OUStringLiteral PROPERTY_TABLENAME(u"TableName")
constexpr OUStringLiteral PROPERTY_DISPLAYSIZE(u"DisplaySize")
constexpr OUStringLiteral PROPERTY_CATALOGNAME(u"CatalogName")
constexpr OUStringLiteral PROPERTY_TYPE(u"Type")
constexpr OUStringLiteral PROPERTY_ISSIGNED(u"IsSigned")
constexpr OUStringLiteral PROPERTY_ISCASESENSITIVE(u"IsCaseSensitive")
constexpr OUStringLiteral PROPERTY_VALUE(u"Value")