00001 #ifndef FDO_ORACLEOVASSOCIATIONPROPERTYDEFINITION_H
00002 #define FDO_ORACLEOVASSOCIATIONPROPERTYDEFINITION_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
00033 #include <FdoCommon.h>
00034 #include <Rdbms/Override/RdbmsOvAssociationPropertyDefinition.h>
00035 #include <Rdbms/Override/Oracle/OracleOv.h>
00036 #include <Rdbms/Override/Oracle/OracleOvPropertyDefinitionCollection.h>
00037
00038
00039 /// \brief
00040 /// Concrete class defining physical schema overrides for an association property
00041 /// definition.
00042 class FdoOracleOvAssociationPropertyDefinition : public FdoOracleOvPropertyDefinition, public FdoRdbmsOvAssociationPropertyDefinition
00043 {
00044 public:
00045 /// \brief
00046 /// Constructs a default of an FdoOracleOvAssociationPropertyDefinition
00047 ///
00048 /// \return
00049 /// Returns FdoOracleOvAssociationPropertyDefinition
00050 ///
00051 FDOORACLE_OV_API static FdoOracleOvAssociationPropertyDefinition* Create();
00052
00053 /// \brief
00054 /// Constructs an instance of an FdoOracleOvAssociationPropertyDefinition using the specified arguments
00055 ///
00056 /// \param name
00057 /// Input name
00058 ///
00059 /// \return
00060 /// Returns FdoOracleOvAssociationPropertyDefinition
00061 ///
00062 FDOORACLE_OV_API static FdoOracleOvAssociationPropertyDefinition* Create(FdoString* name);
00063
00064 /// \brief
00065 /// Gets a collection of property definitions
00066 ///
00067 /// \return
00068 /// Returns a collection of property definitions
00069 ///
00070 FDOORACLE_OV_API FdoOracleOvPropertyDefinitionCollection *GetIdentityProperties();
00071
00072 protected:
00073 FdoOracleOvAssociationPropertyDefinition();
00074 FdoOracleOvAssociationPropertyDefinition(FdoString* name);
00075 virtual ~FdoOracleOvAssociationPropertyDefinition();
00076 virtual void Dispose();
00077
00078 private:
00079 void Init();
00080 FdoOracleOvPropertiesP mPropertyDefinitions;
00081 };
00082
00083 #endif
00084
00085