FDO .NET API Reference Feature Data Objects

mgSchemaElement.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, 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 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\schema\mgSchemaElementState.h"
00022 
00023 class FdoSchemaElement;
00024 
00025 BEGIN_NAMESPACE_OSGEO_FDO_SCHEMA
00026 public __gc class FeatureSchema;
00027 public __gc class SchemaAttributeDictionary;
00028 
00029 /// \ingroup (OSGeoFDOSchema)
00030 /// \brief
00031 /// SchemaElement is an abstract class that acts as a base class for all classes
00032 /// in the Schema package.
00033 public __gc class SchemaElement : public NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler
00034 {
00035 public:
00036     /// \brief
00037     /// Gets the parent of this SchemaElement or null if this object has not
00038     /// been added to a parent object.
00039     /// 
00040     /// \return
00041     /// Returns the SchemaElement of the parent
00042     /// 
00043     __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElement* get_Parent();
00044 
00045     /// \brief
00046     /// Gets the FeatureSchema this object is a part of. Returns null if this
00047     /// object has not been added to a feature schema.
00048     /// 
00049     /// \return
00050     /// Returns the FeatureSchema this object is a part of
00051     /// 
00052     __property NAMESPACE_OSGEO_FDO_SCHEMA::FeatureSchema* get_FeatureSchema();
00053 
00054     /// \brief
00055     /// Returns the current state of the schema element.
00056     /// 
00057     /// \return
00058     /// Returns the current state of the schema element
00059     /// 
00060     __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaElementState get_ElementState();
00061 
00062     /// \brief
00063     /// Gets an SchemaAttributeDictionary that contains the attributes 
00064     /// associated with this SchemaElement.
00065     /// 
00066     /// \return
00067     /// Returns an SchemaAttributeDictionary
00068     /// 
00069     __property NAMESPACE_OSGEO_FDO_SCHEMA::SchemaAttributeDictionary* get_Attributes();
00070 
00071     /// \brief
00072     /// Gets the name of the schema object.
00073     /// 
00074     /// \return
00075     /// Returns the name of the schema object
00076     /// 
00077     __property System::String* get_Name();
00078 
00079     /// \brief
00080     /// Gets the fully qualified name of this schema element
00081     /// 
00082     /// \return
00083     /// Default implementation simply returns the element name
00084     /// 
00085     __property System::String* get_QualifiedName();
00086 
00087     /// \brief
00088     /// Sets the name of the schema object.
00089     /// 
00090     /// \param value 
00091     /// Input the name of the schema object
00092     /// 
00093     __property System::Void set_Name(System::String* value);
00094 
00095     /// \brief
00096     /// Indicates whether the name of the Element can be changed once
00097     /// it has been created.
00098     /// 
00099     /// \return
00100     /// Returns true if the Element name can be changed; otherwise false.
00101     /// 
00102     __property System::Boolean get_CanSetName();
00103 
00104     /// \brief
00105     /// Gets the description of the schema object.
00106     /// 
00107     /// \return
00108     /// Returns the description of the schema object
00109     /// 
00110     __property System::String* get_Description();
00111 
00112     /// \brief
00113     /// Sets the description of the schema object.
00114     /// 
00115     /// \param value 
00116     /// Input the description of the schema object
00117     /// 
00118     __property System::Void set_Description(System::String* value);
00119 
00120     /// \brief
00121     /// Marks the schema element for deletion by setting the element state to
00122     /// SchemaElementState_Deleted. If the schema elements current state is
00123     /// SchemaElementState_Added then the element is physically removed. If
00124     /// the current state is SchemaElementState_Detached this method does
00125     /// nothing.
00126     /// 
00127     System::Void Delete();
00128 
00129     /// \brief
00130     /// Constructs a SchemaElement object based on an unmanaged instance of the object
00131     /// 
00132     /// \param unmanaged 
00133     /// Input A Pointer to the unmanaged object.
00134     /// 
00135     /// \param autoDelete 
00136     /// Input Indicates if the constructed object should be automatically deleted 
00137     /// once it no longer referenced.
00138     /// 
00139     SchemaElement(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_COMMON_XML::XmlSaxHandler(unmanaged, autoDelete)
00140     {
00141 
00142     }
00143 
00144 /// \cond DOXYGEN-IGNORE
00145 protected:
00146     System::Void ReleaseUnmanagedObject();
00147 /// \endcond
00148 
00149 public private:
00150     inline FdoSchemaElement* GetImpObj();
00151 };
00152 
00153 END_NAMESPACE_OSGEO_FDO_SCHEMA
00154 
00155 

Comments or suggestions? Send us feedback.