1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef _CONNECTIVITY_COLUMN_HXX_ 25 #define _CONNECTIVITY_COLUMN_HXX_ 26 27 #include <rtl/ustring.hxx> 28 #include <sal/types.h> 29 #include "connectivity/dbtoolsdllapi.hxx" 30 31 namespace connectivity 32 { 33 class OOO_DLLPUBLIC_DBTOOLS OColumn 34 { 35 ::rtl::OUString m_CatalogName; 36 ::rtl::OUString m_SchemaName; 37 ::rtl::OUString m_TableName; 38 ::rtl::OUString m_ColumnName; 39 ::rtl::OUString m_ColumnLabel; 40 ::rtl::OUString m_ColumnTypeName; 41 ::rtl::OUString m_ColumnServiceName; 42 43 sal_Int32 m_Nullable; 44 sal_Int32 m_ColumnDisplaySize; 45 sal_Int32 m_Precision; 46 sal_Int32 m_Scale; 47 sal_Int32 m_ColumnType; 48 49 sal_Bool m_AutoIncrement; 50 sal_Bool m_CaseSensitive; 51 sal_Bool m_Searchable; 52 sal_Bool m_Currency; 53 sal_Bool m_Signed; 54 sal_Bool m_ReadOnly; 55 sal_Bool m_Writable; 56 sal_Bool m_DefinitelyWritable; 57 58 public: OColumn()59 OColumn() {} OColumn(const::rtl::OUString & _aTableName,const::rtl::OUString & _aColumnName,sal_Int32 _aNullable=0,sal_Int32 _aColumnDisplaySize=0,sal_Int32 _aPrecision=0,sal_Int32 _aScale=0,sal_Int32 _aColumnType=0,sal_Bool _aAutoIncrement=sal_False,sal_Bool _aCaseSensitive=sal_False,sal_Bool _aSearchable=sal_True,sal_Bool _aCurrency=sal_False,sal_Bool _aSigned=sal_False,sal_Bool _aReadOnly=sal_True,sal_Bool _aWritable=sal_False,sal_Bool _aDefinitelyWritable=sal_False,const::rtl::OUString & _aColumnLabel=::rtl::OUString (),const::rtl::OUString & _aColumnTypeName=::rtl::OUString (),const::rtl::OUString & _aColumnServiceName=::rtl::OUString ())60 OColumn(const ::rtl::OUString &_aTableName, 61 const ::rtl::OUString &_aColumnName, 62 63 sal_Int32 _aNullable=0, 64 sal_Int32 _aColumnDisplaySize=0, 65 sal_Int32 _aPrecision=0, 66 sal_Int32 _aScale=0, 67 sal_Int32 _aColumnType=0, 68 69 sal_Bool _aAutoIncrement=sal_False, 70 sal_Bool _aCaseSensitive=sal_False, 71 sal_Bool _aSearchable=sal_True, 72 sal_Bool _aCurrency=sal_False, 73 sal_Bool _aSigned=sal_False, 74 sal_Bool _aReadOnly=sal_True, 75 sal_Bool _aWritable=sal_False, 76 sal_Bool _aDefinitelyWritable=sal_False, 77 78 const ::rtl::OUString &_aColumnLabel = ::rtl::OUString(), 79 const ::rtl::OUString &_aColumnTypeName = ::rtl::OUString(), 80 const ::rtl::OUString &_aColumnServiceName = ::rtl::OUString()) 81 : m_TableName(_aTableName), 82 m_ColumnName(_aColumnName), 83 m_ColumnLabel(_aColumnLabel), 84 m_ColumnTypeName(_aColumnTypeName), 85 m_ColumnServiceName(_aColumnServiceName), 86 87 m_Nullable(_aNullable), 88 m_ColumnDisplaySize(_aColumnDisplaySize), 89 m_Precision(_aPrecision), 90 m_Scale(_aScale), 91 m_ColumnType(_aColumnType), 92 93 m_AutoIncrement(_aAutoIncrement), 94 m_CaseSensitive(_aCaseSensitive), 95 m_Searchable(_aSearchable), 96 m_Currency(_aCurrency), 97 m_Signed(_aSigned), 98 m_ReadOnly(_aReadOnly), 99 m_Writable(_aWritable), 100 m_DefinitelyWritable(_aDefinitelyWritable) 101 { 102 if(!m_ColumnLabel.getLength()) 103 m_ColumnLabel = _aColumnName; 104 } 105 operator new(size_t nSize)106 inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) 107 { return ::rtl_allocateMemory( nSize ); } operator new(size_t,void * _pHint)108 inline static void * SAL_CALL operator new( size_t ,void* _pHint ) SAL_THROW( () ) 109 { return _pHint; } operator delete(void * pMem)110 inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) 111 { ::rtl_freeMemory( pMem ); } operator delete(void *,void *)112 inline static void SAL_CALL operator delete( void *,void* ) SAL_THROW( () ) 113 { } 114 isAutoIncrement() const115 sal_Bool isAutoIncrement() const { return m_AutoIncrement; } isCaseSensitive() const116 sal_Bool isCaseSensitive() const { return m_CaseSensitive; } isSearchable() const117 sal_Bool isSearchable() const { return m_Searchable; } isCurrency() const118 sal_Bool isCurrency() const { return m_Currency; } isSigned() const119 sal_Bool isSigned() const { return m_Signed; } isReadOnly() const120 sal_Bool isReadOnly() const { return m_ReadOnly; } isWritable() const121 sal_Bool isWritable() const { return m_Writable; } isDefinitelyWritable() const122 sal_Bool isDefinitelyWritable() const { return m_DefinitelyWritable; } 123 isNullable() const124 sal_Int32 isNullable() const { return m_Nullable; } getColumnDisplaySize() const125 sal_Int32 getColumnDisplaySize() const { return m_ColumnDisplaySize; } getPrecision() const126 sal_Int32 getPrecision() const { return m_Precision; } getScale() const127 sal_Int32 getScale() const { return m_Scale; } getColumnType() const128 sal_Int32 getColumnType() const { return m_ColumnType; } 129 getColumnLabel() const130 const ::rtl::OUString& getColumnLabel() const { return m_ColumnLabel; } getColumnName() const131 const ::rtl::OUString& getColumnName() const { return m_ColumnName; } getSchemaName() const132 const ::rtl::OUString& getSchemaName() const { return m_SchemaName; } getTableName() const133 const ::rtl::OUString& getTableName() const { return m_TableName; } getCatalogName() const134 const ::rtl::OUString& getCatalogName() const { return m_CatalogName; } getColumnTypeName() const135 const ::rtl::OUString& getColumnTypeName() const { return m_ColumnTypeName; } getColumnServiceName() const136 const ::rtl::OUString& getColumnServiceName() const { return m_ColumnServiceName; } 137 138 }; 139 } 140 141 #endif //_CONNECTIVITY_COLUMN_HXX_ 142 143