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