00001 #ifndef FDO_ORACLEOVTABLE_H
00002 #define FDO_ORACLEOVTABLE_H
00003 //
00004 //
00005 // (C) Copyright 1990-2005 by Autodesk, Inc.
00006 //
00007 //
00008 //
00009 // By using this code, you are agreeing to the terms
00010 // and conditions of the License Agreement that appeared
00011 // and was accepted upon download or installation
00012 // (or in connection with the download or installation)
00013 // of the Autodesk software in which this code is included.
00014 // All permissions on use of this code are as set forth
00015 // in such License Agreement provided that the above copyright
00016 // notice appears in all authorized copies and that both that
00017 // copyright notice and the limited warranty and
00018 // restricted rights notice below appear in all supporting
00019 // documentation.
00020 //
00021 // AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
00022 // AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
00023 // MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC.
00024 // DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
00025 // UNINTERRUPTED OR ERROR FREE.
00026 //
00027 // Use, duplication, or disclosure by the U.S. Government is subject to
00028 // restrictions set forth in FAR 52.227-19 (Commercial Computer
00029 // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii)
00030 // (Rights in Technical Data and Computer Software), as applicable.
00031 //
00032 #include <Rdbms/Override/RdbmsOvTable.h>
00033 #include <Rdbms/Override/Oracle/OracleOv.h>
00034
00035 /// \brief
00036 /// Concrete class defining physical schema overrides for a table.
00037 class FdoOracleOvTable : public FdoRdbmsOvTable
00038 {
00039
00040 public:
00041 /// \brief
00042 /// Constructs a default of an FdoOracleOvTable
00043 ///
00044 /// \return
00045 /// Returns FdoOracleOvTable
00046 ///
00047 FDOORACLE_OV_API static FdoOracleOvTable* Create();
00048
00049 /// \brief
00050 /// Constructs an instance of an FdoOracleOvTable using the specified arguments
00051 ///
00052 /// \param name
00053 /// Input name
00054 ///
00055 /// \return
00056 /// Returns FdoOracleOvTable
00057 ///
00058 FDOORACLE_OV_API static FdoOracleOvTable* Create(FdoString *name);
00059
00060 /// \brief
00061 /// Gets the tablespace
00062 ///
00063 /// \return
00064 /// Returns the tablespace
00065 ///
00066 FDOORACLE_OV_API FdoString *GetTablespace();
00067
00068 /// \brief
00069 /// Sets the tablespace
00070 ///
00071 /// \return
00072 /// Returns nothing
00073 ///
00074 FDOORACLE_OV_API void SetTablespace(FdoString *tablespace);
00075
00076 /// \brief
00077 /// Gets the database
00078 ///
00079 /// \return
00080 /// Returns the database
00081 ///
00082 FDOORACLE_OV_API FdoString *GetDatabase();
00083
00084 /// \brief
00085 /// Sets the database
00086 ///
00087 /// \return
00088 /// Returns nothing
00089 ///
00090 FDOORACLE_OV_API void SetDatabase(FdoString *database);
00091
00092 /// \brief
00093 /// Gets the owner
00094 ///
00095 /// \return
00096 /// Returns the owner
00097 ///
00098 FDOORACLE_OV_API FdoString *GetOwner();
00099
00100 /// \brief
00101 /// Sets the owner
00102 ///
00103 /// \return
00104 /// Returns nothing
00105 ///
00106 FDOORACLE_OV_API void SetOwner(FdoString *owner);
00107
00108 /// \cond DOXYGEN-IGNORE
00109
00110 /// XML Serialization functions, not part of the API.
00111
00112 /// Serialize this property to XML.
00113 virtual void _writeXmlContents(FdoXmlWriter* xmlWriter, const FdoXmlFlags* flags);
00114
00115 /// Initialize this element from its XML attributes
00116 virtual void InitFromXml(FdoXmlSaxContext* pContext, FdoXmlAttributeCollection* attrs);
00117
00118 /// Sets the parent of this object. Not part of the API.
00119 void SetParent(FdoPhysicalElementMapping* value);
00120
00121 /// \endcond
00122
00123 protected:
00124 FdoOracleOvTable();
00125 FdoOracleOvTable(FdoString *name);
00126 virtual ~FdoOracleOvTable();
00127 virtual void Dispose();
00128
00129 private:
00130 FdoStringP mTablespace;
00131 FdoStringP mDatabase;
00132 FdoStringP mOwner;
00133
00134 };
00135
00136 /// \brief
00137 /// FdoOracleOvTableP is a FdoPtr on FdoOracleOvTable, provided for convenience.
00138 typedef FdoPtr<FdoOracleOvTable> FdoOracleOvTableP;
00139
00140 #endif
00141
00142