C# Class AccessProviderSample.AccessDBProvider

Inheritance: System.Management.Automation.Provider.NavigationCmdletProvider, IContentCmdletProvider
Afficher le fichier Open project: Huddle/Puddle Class Usage Examples

Méthodes publiques

Méthode Description
ClearContent ( string path ) : void

Clear the contents at the specified location. In this case, clearing the item amounts to clearing a row

ClearContentDynamicParameters ( string path ) : object

Not implemented.

GetContentReader ( string path ) : IContentReader

Get a reader at the path specified.

GetContentReaderDynamicParameters ( string path ) : object

Not implemented.

GetContentWriter ( string path ) : IContentWriter

Get an object used to write content.

GetContentWriterDynamicParameters ( string path ) : object

Not implemented.

GetNamesFromPath ( string path, string &tableName, int &rowNumber ) : PathType

Chunks the path and returns the table name and the row number from the path

GetRows ( string tableName ) : Collection

Return row information from a specified table.

Méthodes protégées

Méthode Description
CopyItem ( string path, string copyPath, bool recurse ) : void

Copies an item at the specified path to the location specified

GetChildItems ( string path, bool recurse ) : void

Return either the tables in the database or the datarows

GetChildName ( string path ) : string

Get the name of the leaf element in the specified path

GetChildNames ( string path, ReturnContainers returnContainers ) : void

Return the names of all child items.

GetItem ( string path ) : void

Retrieves an item using the specified path.

GetParentPath ( string path, string root ) : string

Removes the child segment of the path and returns the remaining parent portion

HasChildItems ( string path ) : bool

Determines if the specified path has child items.

IsItemContainer ( string path ) : bool

Determine if the path specified is that of a container.

IsValidPath ( string path ) : bool

Test to see if the specified path is syntactically valid.

ItemExists ( string path ) : bool

Test to see if the specified item exists.

MakePath ( string parent, string child ) : string

Joins two strings with a provider specific path separator.

MoveItem ( string path, string destination ) : void

Moves the item specified by the path to the specified destination

NewDrive ( PSDriveInfo drive ) : PSDriveInfo

Create a new drive. Create a connection to the database file and set the Connection property in the PSDriveInfo.

NewItem ( string path, string type, object newItemValue ) : void

Creates a new item at the specified path.

NormalizeRelativePath ( string path, string basepath ) : string

Normalizes the path that was passed in and returns the normalized path as a relative path to the basePath that was passed.

RemoveDrive ( PSDriveInfo drive ) : PSDriveInfo

Removes a drive from the provider.

RemoveItem ( string path, bool recurse ) : void

Removes (deletes) the item at the specified path

There are no elements in this store which are hidden from the user. Hence this method will not check for the presence of the Force parameter

SetItem ( string path, object values ) : void

Set the content of a row of data specified by the supplied path parameter.

Private Methods

Méthode Description
ChunkPath ( string path ) : string[]

Breaks up the path into individual elements.

GetAdapterForTable ( string tableName ) : System.Data.Odbc.OdbcDataAdapter

Obtain a data adapter for the specified Table

An adapter serves as a bridge between a DataSet (in memory representation of table) and the data source

GetDataSetForTable ( System.Data.Odbc.OdbcDataAdapter adapter, string tableName ) : DataSet

Gets the DataSet (in memory representation) for the table for the specified adapter

GetDataTable ( DataSet ds, string tableName ) : DataTable

Get the DataTable object which can be used to operate on for the specified table in the data source

GetNextID ( DataTable table ) : int

Gets the next available ID in the table

GetRow ( string tableName, int row ) : DatabaseRowInfo

Retrieves a single row from the named table.

GetTable ( string tableName ) : DatabaseTableInfo

Retrieve information about a single table.

GetTables ( ) : Collection

Retrieve the list of tables from the database.

NormalizePath ( string path ) : string

Adapts the path, making sure the correct path separator character is used.

PathIsDrive ( string path ) : bool

Checks if a given path is actually a drive name.

RemoveDriveFromPath ( string path ) : string

Ensures that the drive is removed from the specified path

RemoveTable ( string tableName ) : void

Removes the specified table from the database

SafeConvertRowNumber ( string rowNumberAsStr ) : int

Method to safely convert a string representation of a row number into its Int32 equivalent

If there is an exception, -1 is returned

TableIsPresent ( string tableName ) : bool

Checks to see if the specified table is present in the database

TableNameIsValid ( string tableName ) : bool

Check if a table name is valid

Helps to check for SQL injection attacks

ThrowTerminatingInvalidPathException ( string path ) : void

Throws an argument exception stating that the specified path does not represent either a table or a row

Method Details

ClearContent() public méthode

Clear the contents at the specified location. In this case, clearing the item amounts to clearing a row
public ClearContent ( string path ) : void
path string The path to the content to clear.
Résultat void

ClearContentDynamicParameters() public méthode

Not implemented.
public ClearContentDynamicParameters ( string path ) : object
path string
Résultat object

CopyItem() protected méthode

Copies an item at the specified path to the location specified
protected CopyItem ( string path, string copyPath, bool recurse ) : void
path string /// Path of the item to copy ///
copyPath string /// Path of the item to copy to ///
recurse bool /// Tells the provider to recurse subcontainers when copying ///
Résultat void

GetChildItems() protected méthode

Return either the tables in the database or the datarows
protected GetChildItems ( string path, bool recurse ) : void
path string The path to the parent
recurse bool True to return all child items recursively. ///
Résultat void

GetChildName() protected méthode

Get the name of the leaf element in the specified path
protected GetChildName ( string path ) : string
path string /// The full or partial provider specific path ///
Résultat string

GetChildNames() protected méthode

Return the names of all child items.
protected GetChildNames ( string path, ReturnContainers returnContainers ) : void
path string The root path.
returnContainers ReturnContainers Not used.
Résultat void

GetContentReader() public méthode

Get a reader at the path specified.
public GetContentReader ( string path ) : IContentReader
path string The path from which to read.
Résultat IContentReader

GetContentReaderDynamicParameters() public méthode

Not implemented.
public GetContentReaderDynamicParameters ( string path ) : object
path string
Résultat object

GetContentWriter() public méthode

Get an object used to write content.
public GetContentWriter ( string path ) : IContentWriter
path string The root path at which to write.
Résultat IContentWriter

GetContentWriterDynamicParameters() public méthode

Not implemented.
public GetContentWriterDynamicParameters ( string path ) : object
path string
Résultat object

GetItem() protected méthode

Retrieves an item using the specified path.
protected GetItem ( string path ) : void
path string The path to the item to return.
Résultat void

GetNamesFromPath() public méthode

Chunks the path and returns the table name and the row number from the path
public GetNamesFromPath ( string path, string &tableName, int &rowNumber ) : PathType
path string Path to chunk and obtain information
tableName string Name of the table as represented in the /// path
rowNumber int Row number obtained from the path
Résultat PathType

GetParentPath() protected méthode

Removes the child segment of the path and returns the remaining parent portion
protected GetParentPath ( string path, string root ) : string
path string /// A full or partial provider specific path. The path may be to an /// item that may or may not exist. ///
root string /// The fully qualified path to the root of a drive. This parameter /// may be null or empty if a mounted drive is not in use for this /// operation. If this parameter is not null or empty the result /// of the method should not be a path to a container that is a /// parent or in a different tree than the root. ///
Résultat string

GetRows() public méthode

Return row information from a specified table.
public GetRows ( string tableName ) : Collection
tableName string The name of the database table from /// which to retrieve rows.
Résultat Collection

HasChildItems() protected méthode

Determines if the specified path has child items.
protected HasChildItems ( string path ) : bool
path string The path to examine.
Résultat bool

IsItemContainer() protected méthode

Determine if the path specified is that of a container.
protected IsItemContainer ( string path ) : bool
path string The path to check.
Résultat bool

IsValidPath() protected méthode

Test to see if the specified path is syntactically valid.
protected IsValidPath ( string path ) : bool
path string The path to validate.
Résultat bool

ItemExists() protected méthode

Test to see if the specified item exists.
protected ItemExists ( string path ) : bool
path string The path to the item to verify.
Résultat bool

MakePath() protected méthode

Joins two strings with a provider specific path separator.
protected MakePath ( string parent, string child ) : string
parent string /// The parent segment of a path to be joined with the child. ///
child string /// The child segment of a path to be joined with the parent. ///
Résultat string

MoveItem() protected méthode

Moves the item specified by the path to the specified destination
protected MoveItem ( string path, string destination ) : void
path string /// The path to the item to be moved ///
destination string /// The path of the destination container ///
Résultat void

NewDrive() protected méthode

Create a new drive. Create a connection to the database file and set the Connection property in the PSDriveInfo.
protected NewDrive ( PSDriveInfo drive ) : PSDriveInfo
drive PSDriveInfo /// Information describing the drive to add. ///
Résultat PSDriveInfo

NewItem() protected méthode

Creates a new item at the specified path.
protected NewItem ( string path, string type, object newItemValue ) : void
path string /// The path to the new item. ///
type string /// Type for the object to create. "Table" for creating a new table and /// "Row" for creating a new row in a table. ///
newItemValue object /// Object for creating new instance of a type at the specified path. For /// creating a "Table" the object parameter is ignored and for creating /// a "Row" the object must be of type string which will contain comma /// separated values of the rows to insert. ///
Résultat void

NormalizeRelativePath() protected méthode

Normalizes the path that was passed in and returns the normalized path as a relative path to the basePath that was passed.
protected NormalizeRelativePath ( string path, string basepath ) : string
path string /// A fully qualified provider specific path to an item. The item /// should exist or the provider should write out an error. ///
basepath string /// The path that the return value should be relative to. ///
Résultat string

RemoveDrive() protected méthode

Removes a drive from the provider.
protected RemoveDrive ( PSDriveInfo drive ) : PSDriveInfo
drive PSDriveInfo The drive to remove.
Résultat PSDriveInfo

RemoveItem() protected méthode

Removes (deletes) the item at the specified path
There are no elements in this store which are hidden from the user. Hence this method will not check for the presence of the Force parameter
protected RemoveItem ( string path, bool recurse ) : void
path string /// The path to the item to remove. ///
recurse bool /// True if all children in a subtree should be removed, false if only /// the item at the specified path should be removed. Is applicable /// only for container (table) items. Its ignored otherwise (even if /// specified). ///
Résultat void

SetItem() protected méthode

Set the content of a row of data specified by the supplied path parameter.
protected SetItem ( string path, object values ) : void
path string Specifies the path to the row whose columns /// will be updated.
values object Comma separated string of values
Résultat void