FDO .NET API Reference | Feature Data Objects |
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\Commands\Feature\mgIBaseSelect.h" 00022 00023 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS 00024 public __gc class IdentifierCollection; 00025 END_NAMESPACE_OSGEO_FDO_COMMANDS 00026 00027 BEGIN_NAMESPACE_OSGEO_FDO_FILTER 00028 public __gc class Filter; 00029 END_NAMESPACE_OSGEO_FDO_FILTER 00030 00031 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00032 public __gc __interface IDataReader; 00033 00034 /// \ingroup (OSGeoFDOCommandsFeature) 00035 /// \interface OSGeo::FDO::Commands::Feature::ISelectAggregates 00036 /// \brief 00037 /// The ISelectAggregate interface defines a Select command that handle selection of properties that include 00038 /// the use of aggregate functions. This command differs from the ISelect command in a number of ways. 00039 /// It handles selection of properties that are aggregate functions and supports selecting distinct property values. 00040 /// It also includes grouping criteria. The execute method returns an IDataReader which is not tied to a specific class. 00041 /// Unlike Select, ISelectAggregate does not include any locking functions. 00042 public __gc __interface ISelectAggregates : public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IBaseSelect 00043 { 00044 public: 00045 /// \brief 00046 /// Executes the select command and returns a reference to an IDataReader. 00047 /// 00048 /// \return 00049 /// Returns the data reader. 00050 /// 00051 NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IDataReader* Execute(); 00052 00053 /// \brief 00054 /// Set the distinct option of the selection. 00055 /// Non-simple properties such as object properties, geometry properties, 00056 /// raster properties, association properties, etc. will not be supported with Distinct. 00057 /// 00058 /// \param value 00059 /// true or false; when set to true, only distinct values are returned. 00060 /// Otherwise all values are returned 00061 /// 00062 /// \return 00063 /// Returns nothing 00064 /// 00065 /// Note: Grouping criteria is not supported with Distinct. 00066 __property System::Void set_Distinct(System::Boolean value); 00067 00068 /// \brief 00069 /// Get the distinct option. 00070 /// 00071 /// \return 00072 /// Returns true if distinct is set, false otherwise. 00073 /// 00074 __property System::Boolean get_Distinct(); 00075 00076 /// \brief 00077 /// Gets the IdentifierCollection that holds the list of group by property names. 00078 /// If empty no grouping is used. This list is initially empty and the 00079 /// caller need to add the property that the command should use as a group by criteria. 00080 /// No LOB or Geometry type properties can be used for ordering. 00081 /// 00082 /// \return 00083 /// Returns the list of group by property names. 00084 /// 00085 __property NAMESPACE_OSGEO_FDO_COMMANDS::IdentifierCollection* get_Grouping(); 00086 00087 /// \brief 00088 /// Set the grouping by filter. Use the grouping filter to restrict 00089 /// the groups of returned properties to those groups for 00090 /// which the specified filter is TRUE. For example "order by city" 00091 /// and "min(lanes) = 2". The Filter have to evalute to a 00092 /// binary value(true or false). 00093 /// 00094 /// \param filter 00095 /// The grouping filter. 00096 /// 00097 /// \return 00098 /// Returns nothing 00099 /// 00100 __property System::Void set_GroupingFilter(NAMESPACE_OSGEO_FDO_FILTER::Filter* filter); 00101 00102 /// \brief 00103 /// Gets the grouping by filter. 00104 /// 00105 /// \return 00106 /// Returns the grouping filter. 00107 /// 00108 __property NAMESPACE_OSGEO_FDO_FILTER::Filter* get_GroupingFilter(); 00109 }; 00110 00111 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE 00112 00113
Comments or suggestions? Send us feedback. |