- Main Page
- Related Pages
- Modules
- Classes
- Files

# DataPropertyDefinitionCollection.h

Go to the documentation of this file.

    00001 #ifndef _DATAPROPERTYDEFINITIONCOLLECTION_H_
    00002 #define _DATAPROPERTYDEFINITIONCOLLECTION_H_
    00003
    00004 //
    00005 // Copyright (C) 2004-2006  Autodesk, Inc.
    00006 //
    00007 // This library is free software; you can redistribute it and/or
    00008 // modify it under the terms of version 2.1 of the GNU Lesser
    00009 // General Public License as published by the Free Software Foundation.
    00010 //
    00011 // This library is distributed in the hope that it will be useful,
    00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00014 // Lesser General Public License for more details.
    00015 //
    00016 // You should have received a copy of the GNU Lesser General Public
    00017 // License along with this library; if not, write to the Free Software
    00018 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    00019 //
    00020
    00021 #ifdef _WIN32
    00022 #pragma once
    00023 #endif
    00024
    00025 #include <FdoStd.h>
    00026 #include <Fdo/Schema/DataPropertyDefinition.h>
    00027 #include <Fdo/Schema/SchemaCollection.h>
    00028
    00029 class FdoClassDefinition;
    00030
    00031 /// \brief
    00032 /// The FdoDataPropertyDefinitionCollection class represents a collection of FdoDataPropertyDefinition objects.
    00033 class FdoDataPropertyDefinitionCollection: public FdoSchemaCollection<FdoDataPropertyDefinition>
    00034 {
    00035     friend class FdoClassDefinition;
    00036     friend class FdoAssociationPropertyDefinition;
    00037
    00038 public:
    00039
    00040 protected:
    00041 /// \cond DOXYGEN-IGNORE
    00042     FdoDataPropertyDefinitionCollection()
    00043     {
    00044     }
    00045     /// Constructs an instance of a DataPropertyDefinitionCollection using the specified argument.
    00046     FdoDataPropertyDefinitionCollection(FdoSchemaElement* parent) : FdoSchemaCollection<FdoDataPropertyDefinition>(parent)
    00047     {
    00048     /// DataPropertyCollection is only used for identityProperties, which only reference items
    00049     /// in the Properties collection.  Since it doesn't own these items, the parent shouldn't
    00050     /// be set when adding to this collection.
    00051         m_setItemParent = false;
    00052     }
    00053
    00054     virtual ~FdoDataPropertyDefinitionCollection()
    00055     {
    00056     }
    00057
    00058     virtual void Dispose()
    00059     {
    00060         delete this;
    00061     }
    00062 /// \endcond
    00063
    00064 public:
    00065
    00066     /// \brief
    00067     /// Constructs an instance of an FdoDataPropertyDefinitionCollection using the specified argument.
    00068     ///
    00069     /// \param parent
    00070     /// Input parent
    00071     ///
    00072     /// \return
    00073     /// Returns FdoDataPropertyDefinitionCollection
    00074     ///
    00075     FDO_API static FdoDataPropertyDefinitionCollection* Create(FdoSchemaElement* parent);
    00076
    00077     /// \brief
    00078     /// Sets the item in the collection at the specified index to the specified value.
    00079     /// Throws an invalid argument exception if the index is out of range.
    00080     ///
    00081     /// \param index
    00082     /// Input index
    00083     /// \param value
    00084     /// Input value
    00085     ///
    00086     /// \return
    00087     /// Returns nothing
    00088     ///
    00089     FDO_API virtual void SetItem(FdoInt32 index, FdoDataPropertyDefinition* value);
    00090
    00091     /// \brief
    00092     /// Adds the specified item to the end of the collection. Returns the
    00093     /// index of the newly added item.
    00094     ///
    00095     /// \param value
    00096     /// Input value
    00097     ///
    00098     /// \return
    00099     /// Returns the index of the newly added item
    00100     ///
    00101     FDO_API virtual FdoInt32 Add(FdoDataPropertyDefinition* value);
    00102
    00103     /// \brief
    00104     /// Inserts the specified item at the specified index within the collection.
    00105     /// Items following the insertion point are moved down to accommodate the new item.
    00106     /// Throws an invalid argument exception if the specified index is out of range.
    00107     ///
    00108     /// \param index
    00109     /// Input index
    00110     /// \param value
    00111     /// Input value
    00112     ///
    00113     /// \return
    00114     /// Returns nothing
    00115     ///
    00116     FDO_API virtual void Insert(FdoInt32 index, FdoDataPropertyDefinition* value);
    00117 };
    00118
    00119 /// \ingroup (typedefs)
    00120 /// \brief
    00121 /// FdoDataPropertiesP is a FdoPtr on FdoDataPropertyDefinitionCollection, provided for convenience.
    00122 typedef FdoPtr<FdoDataPropertyDefinitionCollection> FdoDataPropertiesP;
    00123
    00124 #endif
    00125
    00126

Please send us your comment about this page