Google

Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

gnSourceFactory Class Reference

gnSourceFactory is the middle man when acessing a sequence data source It tracks all data sources currently in use, ensuring that a particular data source is only opened and parsed once. More...

#include <gnSourceFactory.h>

List of all members.

Public Methods

 ~gnSourceFactory ()
uint32 GetSourceClassListSize () const
 Returns the number of file extension to class mappings. More...

boolean DelSourceClass (const string &ext)
 Deletes a file extension to class mapping. More...

gnBaseSourceGetSourceClass (const string &ext) const
 Gets the source class which is mapped to the specified file extension. More...

gnBaseSourceMatchSourceClass (const string &sourceStr) const
 Gets the source class which would be mapped to the string. More...

boolean HasSourceClass (const string &ext) const
 Checks if the specified file extension is recognized. More...

boolean SetSourceClass (const string &ext, const gnBaseSource &source)
 Maps the specified file extension to the given source class. More...

boolean SetDefaultSourceClass (const gnBaseSource *source)
 Sets a source class to be the default class for unknown file extensions. More...

gnBaseSourceGetDefaultSourceClass () const
 Gets the source class which is the default class for unknown file extensions. More...

uint32 GetPathListSize () const
 Returns the number of directory paths to search for files. More...

boolean AddPath (const string &path)
 Adds the directory to the search path. More...

boolean DelPath (uint32 i)
 Deletes the directory path at index i from the search path list. More...

boolean InsPath (const string &path, uint32 i)
 Inserts the directory path at index i in the search path list. More...

string GetPath (uint32 i) const
 Gets the directory path at index i in the path list. More...

boolean HasPath (string path) const
 Checks the path list for the given path. More...

uint32 GetSourceListSize () const
 Returns the number of open data sources. More...

gnBaseSourceAddSource (const string &sourceStr, boolean searchPaths=true)
 Opens and returns a pointer to a source of genetic sequence data. More...

gnBaseSourceGetSource (uint32 i) const
 Gets the source at index i in the source list. More...

void DelSource (uint32 i)
 Deletes the source at index i in the source list. More...

boolean DelSource (const gnBaseSource *source)
 Deletes the given source from the source list. More...

gnBaseSourceHasSource (string sourceStr, boolean searchPaths=true) const
 Gets the source if it has already been opened. More...


Static Public Methods

gnSourceFactory* GetSourceFactory ()
 Returns the current source factory. More...


Private Methods

 gnSourceFactory ()
 gnSourceFactory (gnSourceFactory &gnsf)
gnSourceFactory& operator= (gnSourceFactory &gnsf)
boolean PathExists (string path) const

Static Private Methods

boolean GetURL (const string &urlStr, string &localFile)

Private Attributes

vector< string > m_pathList
vector< gnBaseSource* > m_sourceList
map< string, gnBaseSource* > m_sourceClassList
gnBaseSourcem_pDefaultSourceClass


Detailed Description

gnSourceFactory is the middle man when acessing a sequence data source It tracks all data sources currently in use, ensuring that a particular data source is only opened and parsed once.

When opening a data source it first tries to interpret the source location as a URL, opening the specified file, or downloading it if necessary. If that fails, it will attempt to open the source as a file on the local disk. gnSourceFactory uses the file extension to determine file format, so a file which ends with .fas will be opened by gnFASSource. Finally, gnSourceFactory can be given directory paths to search when opening a file whose path is not specified. IMPORTANT: Do not try to instantiate this class. To use this class do the following: gnSourceFactory* mySourceFactory = gnSourceFactory::GetSourceFactory();

Definition at line 38 of file gnSourceFactory.h.


Constructor & Destructor Documentation

gnSourceFactory::~gnSourceFactory ( )
 

Definition at line 53 of file gnSourceFactory.cpp.

gnSourceFactory::gnSourceFactory ( ) [private]
 

Definition at line 40 of file gnSourceFactory.cpp.

Referenced by GetSourceFactory().

gnSourceFactory::gnSourceFactory ( gnSourceFactory & gnsf ) [private]
 


Member Function Documentation

boolean gnSourceFactory::AddPath ( const string & path )
 

Adds the directory to the search path.

Parameters:
path   The path to add.
Returns:
True if successful.

Definition at line 107 of file gnSourceFactory.cpp.

Referenced by gnDNXSource::ParseStream(), and main().

gnBaseSource * gnSourceFactory::AddSource ( const string & sourceStr,
boolean searchPaths = true )
 

Opens and returns a pointer to a source of genetic sequence data.

If the source has already been opened, AddSource() returns a copy of the existing source class.

Parameters:
sourceStr   The file name or URL where the source is located.
searchPaths   Should the path list be searched if the file can't be found.
Returns:
A pointer to the source.

Definition at line 233 of file gnSourceFactory.cpp.

Referenced by gnDNXSource::ParseStream(), and main().

boolean gnSourceFactory::DelPath ( uint32 i )
 

Deletes the directory path at index i from the search path list.

Parameters:
i   The index of the path to delete.
Returns:
True if successful, false if i is out of range.

Definition at line 115 of file gnSourceFactory.cpp.

Referenced by main().

boolean gnSourceFactory::DelSource ( const gnBaseSource * source )
 

Deletes the given source from the source list.

This will close the associated file, network, or database connection.

Parameters:
source   The source to close.
Returns:
True if successful.

Definition at line 334 of file gnSourceFactory.cpp.

void gnSourceFactory::DelSource ( uint32 i )
 

Deletes the source at index i in the source list.

This will close the associated file, network, or database connection.

Parameters:
i   The index of the source to delete.
Exceptions:
IndexOutOfBounds   if i is too large

Definition at line 319 of file gnSourceFactory.cpp.

boolean gnSourceFactory::DelSourceClass ( const string & ext )
 

Deletes a file extension to class mapping.

Parameters:
ext   The extension to delete.
Returns:
True if successful.

Definition at line 68 of file gnSourceFactory.cpp.

Referenced by main().

gnBaseSource * gnSourceFactory::GetDefaultSourceClass ( ) const [inline]
 

Gets the source class which is the default class for unknown file extensions.

Returns:
The default class

Definition at line 214 of file gnSourceFactory.h.

Referenced by main().

string gnSourceFactory::GetPath ( uint32 i ) const
 

Gets the directory path at index i in the path list.

Parameters:
i   The index of the path to get.
Returns:
The path or an empty string if i is out of range.

Definition at line 132 of file gnSourceFactory.cpp.

Referenced by main().

uint32 gnSourceFactory::GetPathListSize ( ) const [inline]
 

Returns the number of directory paths to search for files.

Returns:
The list size.

Definition at line 221 of file gnSourceFactory.h.

Referenced by main().

gnBaseSource * gnSourceFactory::GetSource ( uint32 i ) const
 

Gets the source at index i in the source list.

Parameters:
i   The index of the source to get.
Returns:
The source.

Definition at line 313 of file gnSourceFactory.cpp.

gnBaseSource * gnSourceFactory::GetSourceClass ( const string & ext ) const
 

Gets the source class which is mapped to the specified file extension.

Parameters:
ext   The extension to delete.
Returns:
The class associated with the extension.

Definition at line 76 of file gnSourceFactory.cpp.

Referenced by MatchSourceClass(), and main().

uint32 gnSourceFactory::GetSourceClassListSize ( ) const [inline]
 

Returns the number of file extension to class mappings.

Returns:
The list size.

Definition at line 200 of file gnSourceFactory.h.

Referenced by main().

gnSourceFactory * gnSourceFactory::GetSourceFactory ( ) [inline, static]
 

Returns the current source factory.

Returns:
The current source factory.

Definition at line 190 of file gnSourceFactory.h.

Referenced by gnSequence::LoadSource(), gnDNXSource::ParseStream(), gnDNXSource::Write(), and main().

uint32 gnSourceFactory::GetSourceListSize ( ) const [inline]
 

Returns the number of open data sources.

Returns:
The list size.

Definition at line 226 of file gnSourceFactory.h.

Referenced by main().

boolean gnSourceFactory::GetURL ( const string & urlStr,
string & localFile ) [static, private]
 

Definition at line 201 of file gnSourceFactory.cpp.

Referenced by AddSource().

boolean gnSourceFactory::HasPath ( string path ) const
 

Checks the path list for the given path.

Parameters:
path   The path to look for.
Returns:
True if the path is in the path list.

Definition at line 138 of file gnSourceFactory.cpp.

Referenced by AddPath(), and main().

gnBaseSource * gnSourceFactory::HasSource ( string sourceStr,
boolean searchPaths = true ) const
 

Gets the source if it has already been opened.

Parameters:
sourceStr   The file name or URL where the source is located.
searchPaths   Should the path list be searched if the file can't be found.
Returns:
A pointer to the source.

Definition at line 352 of file gnSourceFactory.cpp.

Referenced by AddSource(), and gnDNXSource::Write().

boolean gnSourceFactory::HasSourceClass ( const string & ext ) const
 

Checks if the specified file extension is recognized.

Parameters:
ext   The extension to check.
Returns:
True if the extension has a class.

Definition at line 91 of file gnSourceFactory.cpp.

Referenced by main().

boolean gnSourceFactory::InsPath ( const string & path,
uint32 i )
 

Inserts the directory path at index i in the search path list.

Parameters:
path   The path to insert.
i   The index of the path to insert before.
Returns:
True if successful, false if i is out of range.

Definition at line 123 of file gnSourceFactory.cpp.

Referenced by main().

gnBaseSource * gnSourceFactory::MatchSourceClass ( const string & sourceStr ) const
 

Gets the source class which would be mapped to the string.

Parameters:
sourceStr   The string to check, usually a filename.
Returns:
The class associated with the extension.

Definition at line 83 of file gnSourceFactory.cpp.

Referenced by AddSource(), and main().

boolean gnSourceFactory::PathExists ( string path ) const [private]
 

Definition at line 379 of file gnSourceFactory.cpp.

Referenced by AddPath(), and InsPath().

boolean gnSourceFactory::SetDefaultSourceClass ( const gnBaseSource * source ) [inline]
 

Sets a source class to be the default class for unknown file extensions.

Parameters:
source   The default class to map
Returns:
True if successful.

Definition at line 205 of file gnSourceFactory.h.

Referenced by main().

boolean gnSourceFactory::SetSourceClass ( const string & ext,
const gnBaseSource & source )
 

Maps the specified file extension to the given source class.

e.g. ".fas" to gnFASSource

Parameters:
ext   The extension to map.
source   The class to map
Returns:
True if successful.

Definition at line 97 of file gnSourceFactory.cpp.

Referenced by main().

gnSourceFactory & gnSourceFactory::operator= ( gnSourceFactory & gnsf ) [private]
 


Member Data Documentation

gnBaseSource * gnSourceFactory::m_pDefaultSourceClass [private]
 

Definition at line 186 of file gnSourceFactory.h.

vector< string > gnSourceFactory::m_pathList< string > [private]
 

Definition at line 183 of file gnSourceFactory.h.

map< string, gnBaseSource * > gnSourceFactory::m_sourceClassList< string, gnBaseSource* > [private]
 

Definition at line 185 of file gnSourceFactory.h.

vector< gnBaseSource * > gnSourceFactory::m_sourceList< gnBaseSource* > [private]
 

Definition at line 184 of file gnSourceFactory.h.


The documentation for this class was generated from the following files:
Generated at Fri Nov 30 15:36:56 2001 for libGenome by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001