C# Class Azavea.Open.DAO.Util.CachingDataReader

A base class to save copying a whole lot of common code for different IDataReader implementations.
Inheritance: IDataReader
显示文件 Open project: azavea/net-dao

Protected Properties

Property Type Description
_config DataReaderConfig
_indexesByName int>.IDictionary
_log log4net.ILog
_namesByIndex string[]
_numCols int
_valsByIndex object[]

Public Methods

Method Description
Close ( ) : void

Closes the T:System.Data.IDataReader Object.

Dispose ( ) : void

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

GetBoolean ( int i ) : bool

Gets the value of the specified column as a Boolean.

GetByte ( int i ) : byte

Gets the 8-bit unsigned integer value of the specified column.

GetBytes ( int i, long fieldOffset, byte buffer, int bufferoffset, int length ) : long

Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset.

GetChar ( int i ) : char

Gets the character value of the specified column.

GetChars ( int i, long fieldoffset, char buffer, int bufferoffset, int length ) : long

Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset.

GetData ( int i ) : IDataReader

Returns an T:System.Data.IDataReader for the specified column ordinal.

GetDataTypeName ( int i ) : string

Gets the data type information for the specified field.

GetDateTime ( int i ) : System.DateTime

Gets the date and time data value of the specified field.

GetDecimal ( int i ) : decimal

Gets the fixed-position numeric value of the specified field.

GetDouble ( int i ) : double

Gets the double-precision floating point number of the specified field.

GetFieldType ( int i ) : Type

Gets the T:System.Type information corresponding to the type of T:System.Object that would be returned from M:System.Data.IDataRecord.GetValue(System.Int32).

GetFloat ( int i ) : float

Gets the single-precision floating point number of the specified field.

GetGuid ( int i ) : System.Guid

Returns the GUID value of the specified field.

GetInt16 ( int i ) : short

Gets the 16-bit signed integer value of the specified field.

GetInt32 ( int i ) : int

Gets the 32-bit signed integer value of the specified field.

GetInt64 ( int i ) : long

Gets the 64-bit signed integer value of the specified field.

GetName ( int i ) : string

Gets the name for the field to find.

GetOrdinal ( string name ) : int

Return the index of the named field.

GetSchemaTable ( ) : DataTable

Returns a T:System.Data.DataTable that describes the column metadata of the T:System.Data.IDataReader.

GetString ( int i ) : string

Gets the string value of the specified field.

GetValue ( int i ) : object

Return the value of the specified field.

GetValues ( object values ) : int

Gets all the attribute fields in the collection for the current record.

IsDBNull ( int i ) : bool

Return whether the specified field is set to null.

NextResult ( ) : bool

Advances the data reader to the next result, when reading the results of batch SQL statements.

Read ( ) : bool

Advances the T:System.Data.IDataReader to the next record.

Protected Methods

Method Description
CachingDataReader ( DataReaderConfig config ) : System

Create the data reader.

ClearVals ( ) : void

Resets the values in _valsByIndex.

FetchNextRow ( ) : bool

Moves the cursor (or whatever the implementation equivilent is) to the next row if there is one.

GetCachedValue ( int i ) : object

Will only ever look up the value once.

GetDataObject ( int i ) : object

This method gets the actual data value from the actual data source.

Private Methods

Method Description
this ( int i ) : objectIDataRecord.System

Gets the column located at the specified index.

this ( string name ) : objectIDataRecord.System

Gets the column with the specified name.

Method Details

CachingDataReader() protected method

Create the data reader.
protected CachingDataReader ( DataReaderConfig config ) : System
config DataReaderConfig The column indexes in the data, keyed by column name. This may include /// columns not in the mapping.
return System

ClearVals() protected method

Resets the values in _valsByIndex.
protected ClearVals ( ) : void
return void

Close() public abstract method

Closes the T:System.Data.IDataReader Object.
public abstract Close ( ) : void
return void

Dispose() public method

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public Dispose ( ) : void
return void

FetchNextRow() protected abstract method

Moves the cursor (or whatever the implementation equivilent is) to the next row if there is one.
protected abstract FetchNextRow ( ) : bool
return bool

GetBoolean() public method

Gets the value of the specified column as a Boolean.
The index passed was outside the range of 0 through .
public GetBoolean ( int i ) : bool
i int The zero-based column ordinal.
return bool

GetByte() public method

Gets the 8-bit unsigned integer value of the specified column.
The index passed was outside the range of 0 through .
public GetByte ( int i ) : byte
i int The zero-based column ordinal.
return byte

GetBytes() public abstract method

Reads a stream of bytes from the specified column offset into the buffer as an array, starting at the given buffer offset.
The index passed was outside the range of 0 through .
public abstract GetBytes ( int i, long fieldOffset, byte buffer, int bufferoffset, int length ) : long
i int The zero-based column ordinal.
fieldOffset long The index within the field from which to start the read operation.
buffer byte The buffer into which to read the stream of bytes.
bufferoffset int The index for to start the read operation.
length int The number of bytes to read.
return long

GetCachedValue() protected method

Will only ever look up the value once.
protected GetCachedValue ( int i ) : object
i int 0-based column index.
return object

GetChar() public method

Gets the character value of the specified column.
The index passed was outside the range of 0 through .
public GetChar ( int i ) : char
i int The zero-based column ordinal.
return char

GetChars() public abstract method

Reads a stream of characters from the specified column offset into the buffer as an array, starting at the given buffer offset.
The index passed was outside the range of 0 through .
public abstract GetChars ( int i, long fieldoffset, char buffer, int bufferoffset, int length ) : long
i int The zero-based column ordinal.
fieldoffset long The index within the row from which to start the read operation.
buffer char The buffer into which to read the stream of bytes.
bufferoffset int The index for to start the read operation.
length int The number of bytes to read.
return long

GetData() public abstract method

Returns an T:System.Data.IDataReader for the specified column ordinal.
The index passed was outside the range of 0 through .
public abstract GetData ( int i ) : IDataReader
i int The index of the field to find.
return IDataReader

GetDataObject() protected abstract method

This method gets the actual data value from the actual data source.
protected abstract GetDataObject ( int i ) : object
i int Column number to get, zero-based.
return object

GetDataTypeName() public method

Gets the data type information for the specified field.
The index passed was outside the range of 0 through .
public GetDataTypeName ( int i ) : string
i int The index of the field to find.
return string

GetDateTime() public method

Gets the date and time data value of the specified field.
The index passed was outside the range of 0 through .
public GetDateTime ( int i ) : System.DateTime
i int The index of the field to find.
return System.DateTime

GetDecimal() public method

Gets the fixed-position numeric value of the specified field.
The index passed was outside the range of 0 through .
public GetDecimal ( int i ) : decimal
i int The index of the field to find.
return decimal

GetDouble() public method

Gets the double-precision floating point number of the specified field.
The index passed was outside the range of 0 through .
public GetDouble ( int i ) : double
i int The index of the field to find.
return double

GetFieldType() public abstract method

Gets the T:System.Type information corresponding to the type of T:System.Object that would be returned from M:System.Data.IDataRecord.GetValue(System.Int32).
The index passed was outside the range of 0 through .
public abstract GetFieldType ( int i ) : Type
i int The index of the field to find.
return System.Type

GetFloat() public method

Gets the single-precision floating point number of the specified field.
The index passed was outside the range of 0 through .
public GetFloat ( int i ) : float
i int The index of the field to find.
return float

GetGuid() public abstract method

Returns the GUID value of the specified field.
The index passed was outside the range of 0 through .
public abstract GetGuid ( int i ) : System.Guid
i int The index of the field to find.
return System.Guid

GetInt16() public method

Gets the 16-bit signed integer value of the specified field.
The index passed was outside the range of 0 through .
public GetInt16 ( int i ) : short
i int The index of the field to find.
return short

GetInt32() public method

Gets the 32-bit signed integer value of the specified field.
The index passed was outside the range of 0 through .
public GetInt32 ( int i ) : int
i int The index of the field to find.
return int

GetInt64() public method

Gets the 64-bit signed integer value of the specified field.
The index passed was outside the range of 0 through .
public GetInt64 ( int i ) : long
i int The index of the field to find.
return long

GetName() public abstract method

Gets the name for the field to find.
The index passed was outside the range of 0 through .
public abstract GetName ( int i ) : string
i int The index of the field to find.
return string

GetOrdinal() public method

Return the index of the named field.
public GetOrdinal ( string name ) : int
name string The name of the field to find.
return int

GetSchemaTable() public abstract method

Returns a T:System.Data.DataTable that describes the column metadata of the T:System.Data.IDataReader.
The is closed.
public abstract GetSchemaTable ( ) : DataTable
return System.Data.DataTable

GetString() public method

Gets the string value of the specified field.
The index passed was outside the range of 0 through .
public GetString ( int i ) : string
i int The index of the field to find.
return string

GetValue() public method

Return the value of the specified field.
The index passed was outside the range of 0 through .
public GetValue ( int i ) : object
i int The index of the field to find.
return object

GetValues() public abstract method

Gets all the attribute fields in the collection for the current record.
public abstract GetValues ( object values ) : int
values object An array of to copy the attribute fields into.
return int

IsDBNull() public method

Return whether the specified field is set to null.
The index passed was outside the range of 0 through .
public IsDBNull ( int i ) : bool
i int The index of the field to find.
return bool

NextResult() public abstract method

Advances the data reader to the next result, when reading the results of batch SQL statements.
public abstract NextResult ( ) : bool
return bool

Read() public method

Advances the T:System.Data.IDataReader to the next record.
public Read ( ) : bool
return bool

Property Details

_config protected_oe property

The config object passed to the constructor. It is available in case the child class needs more data off of it.
protected DataReaderConfig _config
return DataReaderConfig

_indexesByName protected_oe property

The column indexes, keyed by the column name.
protected IDictionary _indexesByName
return int>.IDictionary

_log protected_oe static_oe property

Logger that may be used by this class or its children.
protected static ILog,log4net _log
return log4net.ILog

_namesByIndex protected_oe property

The column names, in order from the data source.
protected string[] _namesByIndex
return string[]

_numCols protected_oe property

The number of columns that the data reader can read.
protected int _numCols
return int

_valsByIndex protected_oe property

The values for this row, in column order.
protected object[] _valsByIndex
return object[]