Changes between Version 8 and Version 9 of FDORfc17


Ignore:
Timestamp:
Mar 24, 2008, 1:36:51 PM (16 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FDORfc17

    v8 v9  
    305305};
    306306}}}
    307 
    308 
    309 === Util Feature Reader ===
    310 
    311 {{{
    312 /// \brief
    313 /// A generic feature reader. The underlying feature reader and the ExpressionEngine
    314 /// are used to get the value of a property, computed identifiers and expressions
    315 ///
    316 public __gc class UtilFeatureReader : public OSGEO_FDO_COMMANDS::FEATURE::IFeatureReader
    317 {
    318 public:
    319 
    320     /// \brief
    321     /// Constructs an instance of a UtilFeatureReader
    322     ///
    323     UtilFeatureReader (OSGEO_FDO_SCHEMA::ClassDefinition* classDef,
    324                        OSGEO_FDO_COMMANDS::FEATURE::IFeatureReader* reader,
    325                        OSGEO_FDO_FILTER::Filter *filter,
    326                        OSGEO_FDO_COMMANDS::IdentifierCollection* selectedIds,
    327                        OSGEO_FDO_UTILITIES_EXPRESSIONENGINE::FunctionCollection *userDefinedFunctions);
    328 
    329 public:
    330     /// \brief
    331     /// Gets the Boolean value of the specified property. No conversion is
    332     /// performed, thus the property must be Boolean or an
    333     /// exception is thrown.
    334     ///
    335     /// \param propertyName
    336     /// Input the property name.
    337     ///
    338     /// \return
    339     /// Returns the Boolean value
    340     ///
    341     System::Boolean GetBoolean(System::String* propertyName);
    342 
    343     /// \brief
    344     /// Gets the byte value of the specified property. No conversion is
    345     /// performed, thus the property must be Byte or an
    346     /// exception is thrown.
    347     ///
    348     /// \param propertyName
    349     /// Input the property name.
    350     ///
    351     /// \return
    352     /// Returns the byte value.
    353     ///
    354     System::Byte GetByte(System::String* propertyName);
    355 
    356     /// \brief
    357     /// Gets the date time value of the specified property. No conversion
    358     /// is performed, thus the property must be DateTime or
    359     /// an exception is thrown.
    360     ///
    361     /// \param propertyName
    362     /// Input the property name.
    363     ///
    364     /// \return
    365     /// Returns the date and time value.
    366     ///
    367     OSGEO_FDO_SCHEMA::DateTime GetDateTime(System::String* propertyName);
    368 
    369     /// \brief
    370     /// Gets the double-precision floating point value of the specified property.
    371     /// No conversion is performed, thus the property must be of type
    372     /// Double or an exception is thrown.
    373     ///
    374     /// \param propertyName
    375     /// Input the property name.
    376     ///
    377     /// \return
    378     /// Returns the double value.
    379     ///
    380     System::Double GetDouble(System::String* propertyName);
    381 
    382     /// \brief
    383     /// Gets the signed 16-bit integer value of the specified property. No conversion is
    384     /// performed, thus the property must be Int16 or an
    385     /// exception is thrown.
    386     ///
    387     /// \param propertyName
    388     /// Input the property name.
    389     ///
    390     /// \return
    391     /// Returns the FdoInt16 value.
    392     ///
    393     System::Int16 GetInt16(System::String* propertyName);
    394 
    395     /// \brief
    396     /// Gets the signed 32-bit integer value of the specified property. No conversion is
    397     /// performed, thus the property must be Int32 or an
    398     /// exception is thrown.
    399     ///
    400     /// \param propertyName
    401     /// Input the property name.
    402     ///
    403     /// \return
    404     /// Returns the System::Int32 value.
    405     ///
    406     System::Int32 GetInt32(System::String* propertyName);
    407 
    408     /// \brief
    409     /// Gets the signed 64-bit integer value of the specified property. No conversion
    410     /// is performed, thus the property must be Int64 or an
    411     /// exception is thrown.
    412     ///
    413     /// \param propertyName
    414     /// Input the property name.
    415     ///
    416     /// \return
    417     /// Returns the FdoInt64 value.
    418     ///
    419     System::Int64 GetInt64(System::String* propertyName);
    420 
    421     /// \brief
    422     /// Gets the single-precision floating point value of the specified property.
    423     /// No conversion is performed, thus the property must be Double
    424     /// or an exception is thrown.
    425     ///
    426     /// \param propertyName
    427     /// Input the property name.
    428     ///
    429     /// \return
    430     /// Returns the single value
    431     ///
    432     System::Double GetSingle(System::String* propertyName);
    433 
    434     /// \brief
    435     /// Gets the string value of the specified property. No conversion is
    436     /// performed, thus the property must be String or an
    437     /// exception is thrown.
    438     ///
    439     /// \param propertyName
    440     /// Input the property name.
    441     ///
    442     /// \return
    443     /// Returns the string value.
    444     ///
    445     System::String* GetString(System::String* propertyName);
    446 
    447     /// \brief
    448     /// Gets a LOBValue reference. The LOB is fully read in and data available.
    449     /// Because no conversion is performed, the property must be BLOB or
    450     /// CLOB etc. (a LOB type)
    451     ///
    452     /// \param propertyName
    453     /// Input the property name.
    454     ///
    455     /// \return
    456     /// Returns the reference to LOBValue
    457     ///
    458     OSGEO_FDO_EXPRESSION::LOBValue* GetLOB(System::String* propertyName);
    459 
    460     /// \brief
    461     /// Gets a reference of the specified LOB property as a BLOBStreamReader or
    462     /// CLOBStreamReader etc. to allow reading in blocks of data.
    463     /// Because no conversion is performed, the property must be BLOB
    464     /// or CLOB etc. (a LOB type)
    465     /// Cast the IStreamReader to the appropiate LOB Stream Reader.
    466     ///
    467     /// \param propertyName
    468     /// Input the property name.
    469     ///
    470     /// \return
    471     /// Returns a reference to a LOB stream reader
    472     ///
    473     OSGEO_FDO_COMMON::IStreamReader* GetLOBStreamReader(System::String* propertyName );
    474 
    475     /// \brief
    476     /// Returns true if the value of the specified property is null.
    477     ///
    478     /// \param propertyName
    479     /// Input the property name.
    480     ///
    481     /// \return
    482     /// Returns true if the value is null.
    483     ///
    484     System::Boolean IsNull(System::String* propertyName);
    485 
    486     /// \brief
    487     /// Gets the geometry value of the specified property as a byte array
    488     /// in FGF format. No conversion is performed, thus the property
    489     /// must be of Geometric type or an exception is thrown.
    490     ///
    491     /// \param propertyName
    492     /// Input the property name.
    493     ///
    494     /// \return
    495     /// Returns the FGF byte array value.
    496     ///
    497     System::ByteArray* GetGeometry(System::String* propertyName);
    498 
    499     /// \brief
    500     /// Gets the raster object of the specified property.
    501     /// Because no conversion is performed, the property must be
    502     /// of Raster type; otherwise, an exception is thrown.
    503     ///
    504     /// \param propertyName
    505     /// Input the property name.
    506     ///
    507     /// \return
    508     /// Returns the raster object.
    509     ///
    510     OSGEO_FDO_RASTER::IRaster* GetRaster(System::String* propertyName);
    511 
    512     /// \brief
    513     /// Advances the reader to the next item. The default position of the
    514     /// reader is prior to the first item. Thus, you must call ReadNext
    515     /// to begin accessing any data.
    516     ///
    517     /// \return
    518     /// Returns true if there is a next item.
    519     ///
    520     System::Boolean ReadNext();
    521 
    522     /// \brief
    523     /// Closes the IDataReader object, freeing any resources it may be holding.
    524     ///
    525     /// \return
    526     /// Returns nothing
    527     ///
    528     System::Void Close();
    529 
    530     /// \brief
    531     /// Gets the definition of the object currently being read. If the user
    532     /// has requested only a subset of the class properties, the class
    533     /// definition reflects what the user has asked, rather than the full class
    534     /// definition.
    535     ///
    536     /// \return
    537     /// Returns the class definition object.
    538     ///
    539     OSGEO_FDO_SCHEMA::ClassDefinition* GetClassDefinition();
    540 
    541     /// \brief
    542     /// Gets a value indicating the depth of nesting for the current reader.
    543     /// The depth value increases each time GetFeatureObject is called and a new
    544     /// reader is returned. The outermost reader has a depth of 0.
    545     ///
    546     /// \return
    547     /// Returns the depth
    548     ///
    549     System::Int32 GetDepth();
    550 
    551     /// \brief
    552     /// Gets the geometry value of the specified property as a byte array in
    553     /// FGF format. Because no conversion is performed, the property must be
    554     /// of Geometric type; otherwise, an exception is thrown.
    555     /// This method is a language-specific performance optimization that returns a
    556     /// pointer to the array data, rather than to an object that encapsulates
    557     /// the array.  The array's memory area is only guaranteed to be valid
    558     /// until a call to ReadNext() or Close(), or the disposal of this reader
    559     /// object.
    560     ///
    561     /// \param propertyName
    562     /// Input the property name.
    563     ///
    564     /// \param count
    565     /// Output the number of bytes in the array.
    566     ///
    567     /// \return
    568     /// Returns a pointer to the byte array in FGF format.
    569     ///
    570     const System::Byte * GetGeometry(System::String* propertyName, System::Int32 * count);
    571 
    572 
    573     /// \brief
    574     /// Gets a reference to an IFeatureReader to read the data contained in
    575     /// the object or object collection property. If the property is not an
    576     /// object property, an exception is thrown.
    577     ///
    578     /// \param propertyName
    579     /// Input the property name.
    580     ///
    581     /// \return
    582     /// Returns the nested feature reader
    583     ///
    584     OSGEO_FDO_COMMANDS_FEATURE::IFeatureReader* GetFeatureObject(System::String* propertyName);
    585 };
    586 
    587 }}}