| /************************************************************** | 
 |  *  | 
 |  * 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 | 
 |  *  | 
 |  * Unless required by applicable law or agreed to in writing, | 
 |  * software distributed under the License is distributed on an | 
 |  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
 |  * KIND, either express or implied.  See the License for the | 
 |  * specific language governing permissions and limitations | 
 |  * under the License. | 
 |  *  | 
 |  *************************************************************/ | 
 |  | 
 |  | 
 |  | 
 | #ifndef _CONNECTIVITY_COLUMN_HXX_ | 
 | #define _CONNECTIVITY_COLUMN_HXX_ | 
 |  | 
 | #include <rtl/ustring.hxx> | 
 | #include <sal/types.h> | 
 | #include "connectivity/dbtoolsdllapi.hxx" | 
 |  | 
 | namespace connectivity | 
 | { | 
 | 	class OOO_DLLPUBLIC_DBTOOLS OColumn | 
 | 	{ | 
 | 		::rtl::OUString m_CatalogName; | 
 | 		::rtl::OUString m_SchemaName; | 
 | 		::rtl::OUString m_TableName; | 
 | 		::rtl::OUString m_ColumnName; | 
 | 		::rtl::OUString m_ColumnLabel; | 
 | 		::rtl::OUString m_ColumnTypeName; | 
 | 		::rtl::OUString m_ColumnServiceName; | 
 |  | 
 | 		sal_Int32		m_Nullable; | 
 | 		sal_Int32		m_ColumnDisplaySize; | 
 | 		sal_Int32		m_Precision; | 
 | 		sal_Int32		m_Scale; | 
 | 		sal_Int32		m_ColumnType; | 
 |  | 
 | 		sal_Bool		m_AutoIncrement; | 
 | 		sal_Bool		m_CaseSensitive; | 
 | 		sal_Bool		m_Searchable; | 
 | 		sal_Bool		m_Currency; | 
 | 		sal_Bool 		m_Signed; | 
 | 		sal_Bool		m_ReadOnly; | 
 | 		sal_Bool		m_Writable; | 
 | 		sal_Bool		m_DefinitelyWritable; | 
 |  | 
 | 	public: | 
 | 		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()) | 
 | 		:	m_TableName(_aTableName), | 
 | 			m_ColumnName(_aColumnName), | 
 | 			m_ColumnLabel(_aColumnLabel), | 
 | 			m_ColumnTypeName(_aColumnTypeName), | 
 | 			m_ColumnServiceName(_aColumnServiceName), | 
 |  | 
 | 			m_Nullable(_aNullable), | 
 | 			m_ColumnDisplaySize(_aColumnDisplaySize), | 
 | 			m_Precision(_aPrecision), | 
 | 			m_Scale(_aScale), | 
 | 			m_ColumnType(_aColumnType), | 
 |  | 
 | 			m_AutoIncrement(_aAutoIncrement), | 
 | 			m_CaseSensitive(_aCaseSensitive), | 
 | 			m_Searchable(_aSearchable), | 
 | 			m_Currency(_aCurrency), | 
 | 			m_Signed(_aSigned), | 
 | 			m_ReadOnly(_aReadOnly), | 
 | 			m_Writable(_aWritable), | 
 | 			m_DefinitelyWritable(_aDefinitelyWritable) | 
 | 		{ | 
 | 			if(!m_ColumnLabel.getLength()) | 
 | 				m_ColumnLabel = _aColumnName; | 
 | 		} | 
 |  | 
 | 		inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) | 
 | 			{ return ::rtl_allocateMemory( nSize ); } | 
 | 		inline static void * SAL_CALL operator new( size_t ,void* _pHint ) SAL_THROW( () ) | 
 | 			{ return _pHint; } | 
 | 		inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) | 
 | 			{ ::rtl_freeMemory( pMem ); } | 
 | 		inline static void SAL_CALL operator delete( void *,void* ) SAL_THROW( () ) | 
 | 			{  } | 
 |  | 
 | 		sal_Bool isAutoIncrement()				const { return m_AutoIncrement; } | 
 | 		sal_Bool isCaseSensitive()				const { return m_CaseSensitive; } | 
 | 		sal_Bool isSearchable()					const { return m_Searchable; } | 
 | 		sal_Bool isCurrency()					const { return m_Currency; } | 
 | 		sal_Bool isSigned()						const { return m_Signed; } | 
 | 		sal_Bool isReadOnly()					const { return m_ReadOnly; } | 
 | 		sal_Bool isWritable()					const { return m_Writable; } | 
 | 		sal_Bool isDefinitelyWritable()			const { return m_DefinitelyWritable; } | 
 |  | 
 | 		sal_Int32 isNullable()					const { return m_Nullable; } | 
 | 		sal_Int32 getColumnDisplaySize()		const { return m_ColumnDisplaySize; } | 
 | 		sal_Int32 getPrecision()				const { return m_Precision; } | 
 | 		sal_Int32 getScale()					const { return m_Scale; } | 
 | 		sal_Int32 getColumnType()				const { return m_ColumnType; } | 
 |  | 
 | 		const ::rtl::OUString& getColumnLabel()			const { return m_ColumnLabel; } | 
 | 		const ::rtl::OUString& getColumnName()			const { return m_ColumnName; } | 
 | 		const ::rtl::OUString& getSchemaName()			const { return m_SchemaName; } | 
 | 		const ::rtl::OUString& getTableName()			const { return m_TableName; } | 
 | 		const ::rtl::OUString& getCatalogName()			const { return m_CatalogName; } | 
 | 		const ::rtl::OUString& getColumnTypeName()		const { return m_ColumnTypeName; } | 
 | 		const ::rtl::OUString& getColumnServiceName()	const { return m_ColumnServiceName; } | 
 |  | 
 | 	}; | 
 | } | 
 |  | 
 | #endif //_CONNECTIVITY_COLUMN_HXX_ | 
 |  |