00001 //
00002 // Copyright (C) 2006 Refractions Research, Inc.
00003 //
00004 // This library is free software; you can redistribute it and/or
00005 // modify it under the terms of version 2.1 of the GNU Lesser
00006 // General Public License as published by the Free Software Foundation.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
00016 //
00017 #ifndef FDOPOSTGISOVPROPERTYMAPPINGRCONCRETE_H
00018 #define FDOPOSTGISOVPROPERTYMAPPINGRCONCRETE_H
00019
00020 #include <Rdbms/Override/PostGIS/PostGisOv.h>
00021 #include <Rdbms/Override/PostGIS/PostGisOvPropertyMappingRelation.h>
00022
00023 /// \brief
00024 /// Concrete class defining the physical schema overrides for
00025 /// the concrete type object property mapping.
00026 /// Under the concrete mapping type, each object property is
00027 /// kept in its own table.
00028 /// This class is used in PostGIS schema overrides.
00029 ///
00030 class FdoPostGISOvPropertyMappingConcrete :
00031 public FdoPostGISOvPropertyMappingRelation,
00032 public FdoRdbmsOvPropertyMappingConcrete
00033 {
00034 public:
00035
00036 /// Named constructor for FdoPostGISOvPropertyMappingConcrete.
00037 ///
00038 /// \return
00039 /// Pointer to new instance of FdoPostGISOvPropertyMappingConcrete.
00040 ///
00041 FDOPOSTGIS_OV_API static FdoPostGISOvPropertyMappingConcrete* Create();
00042
00043 protected:
00044
00045 /// Default constructor.
00046 FdoPostGISOvPropertyMappingConcrete();
00047
00048 /// Destructor.
00049 virtual ~FdoPostGISOvPropertyMappingConcrete();
00050
00051 /// Named destructor.
00052 /// Responsible for final destruction calling
00053 /// \code delete this \endcode.
00054 virtual void Dispose();
00055
00056 private:
00057 };
00058
00059 /// \brief
00060 /// Declaration of smart-pointer type for FdoPostGISOvColumn.
00061 /// Provided for convenience.
00062 ///
00063 typedef FdoPtr<FdoPostGISOvPropertyMappingConcrete>
00064 FdoPostGISOvPropertyMappingConcreteP;
00065
00066 #endif // FDOPOSTGISOVPROPERTYMAPPINGRCONCRETE_H