22#include <com/sun/star/beans/PropertyAttribute.hpp>
23#include <com/sun/star/util/Date.hpp>
24#include <com/sun/star/util/Time.hpp>
25#include <com/sun/star/util/DateTime.hpp>
26#include <com/sun/star/xsd/XDataType.hpp>
35#include <unicode/regex.h>
39#include <com/sun/star/util/URLTransformer.hpp>
48 typedef ::cppu::WeakImplHelper < css::xsd::XDataType
66 ::std::unique_ptr< U_NAMESPACE_QUALIFIER RegexMatcher >
84 DECLARE_XTYPEPROVIDER()
86 virtual OUString SAL_CALL
getName( ) override;
87 virtual
void SAL_CALL
setName( const OUString& aName ) override;
88 virtual OUString SAL_CALL
getPattern() override;
89 virtual
void SAL_CALL
setPattern( const OUString& _pattern ) override;
96 virtual OUString SAL_CALL
explainInvalid( const OUString& value ) override;
99 virtual
void SAL_CALL
setPropertyValue( const OUString& aPropertyName, const css::
uno::Any& aValue ) override;
101 virtual
void SAL_CALL
addPropertyChangeListener( const OUString& aPropertyName, const css::
uno::Reference< css::beans::XPropertyChangeListener >& xListener ) override;
102 virtual
void SAL_CALL
removePropertyChangeListener( const OUString& aPropertyName, const css::
uno::Reference< css::beans::XPropertyChangeListener >& aListener ) override;
103 virtual
void SAL_CALL
addVetoableChangeListener( const OUString& PropertyName, const css::
uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
104 virtual
void SAL_CALL
removeVetoableChangeListener( const OUString& PropertyName, const css::
uno::Reference< css::beans::XVetoableChangeListener >& aListener ) override;
114 const css::
uno::Any& rValue
127 virtual
bool checkPropertySanity( sal_Int32 _nHandle, const css::
uno::Any& _rNewValue, OUString& _rErrorMessage );
158 const css::uno::Any& rValue
162 virtual bool _getValue(
const OUString& value,
double& fValue );
185 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const = 0;
188 template <
typename VALUE_TYPE >
193 const css::uno::Type&
205 template<
typename CONCRETE_DATA_TYPE_IMPL,
typename SUPERCLASS = OXSDDataType >
217 virtual ::cppu::IPropertyArrayHelper* createArrayHelper()
const override;
220 virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo()
override;
221 virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper()
override;
251 OStringType(
const OUString& _rName, sal_Int16 _nTypeClass );
256 void initializeTypedClone(
const OStringType& _rCloneSource );
261 virtual bool checkPropertySanity( sal_Int32 _nHandle,
const css::uno::Any& _rNewValue, OUString& _rErrorMessage )
override;
278 OAnyURIType(
const OUString& _rName, sal_Int16 _nTypeClass );
283 void initializeTypedClone(
const OAnyURIType& _rCloneSource );
288 virtual bool checkPropertySanity( sal_Int32 _nHandle,
const css::uno::Any& _rNewValue, OUString& _rErrorMessage )
override;
300 ODecimalType(
const OUString& _rName, sal_Int16 _nTypeClass );
305 void initializeTypedClone(
const ODecimalType& _rCloneSource );
313 virtual OUString typedValueAsHumanReadableString(
const css::uno::Any& _rValue )
const override;
314 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const override;
317 using ODecimalType_Base::initializeTypedClone;
328 explicit ODateType(
const OUString& _rName );
336 virtual bool _getValue(
const OUString&
value,
double& fValue )
override;
339 virtual OUString typedValueAsHumanReadableString(
const css::uno::Any& _rValue )
const override;
340 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const override;
343 using ODateType_Base::initializeTypedClone;
352 explicit OTimeType(
const OUString& _rName );
360 virtual bool _getValue(
const OUString&
value,
double& fValue )
override;
363 virtual OUString typedValueAsHumanReadableString(
const css::uno::Any& _rValue )
const override;
364 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const override;
367 using OTimeType_Base::initializeTypedClone;
385 virtual bool _getValue(
const OUString&
value,
double& fValue )
override;
388 virtual OUString typedValueAsHumanReadableString(
const css::uno::Any& _rValue )
const override;
389 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const override;
392 using ODateTimeType_Base::initializeTypedClone;
408 virtual bool _getValue(
const OUString&
value,
double& fValue )
override;
411 virtual OUString typedValueAsHumanReadableString(
const css::uno::Any& _rValue )
const override;
412 virtual void normalizeValue(
const css::uno::Any& _rValue,
double& _rDoubleValue )
const override;
415 using OShortIntegerType_Base::initializeTypedClone;
css::uno::Type const & get()
#define DECLARE_XINTERFACE()