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 Member Functions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Static Public Member Functions

gnSourceFactory * GetSourceFactory ()
 Returns the current source factory.


Private Member Functions

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

Static Private Member Functions

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 37 of file gnSourceFactory.h.


Constructor & Destructor Documentation

gnSourceFactory::~gnSourceFactory  
 

Definition at line 52 of file gnSourceFactory.cpp.

References m_sourceClassList, and m_sourceList.

gnSourceFactory::gnSourceFactory   [private]
 

Definition at line 39 of file gnSourceFactory.cpp.

References m_pDefaultSourceClass, and m_sourceClassList.

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 106 of file gnSourceFactory.cpp.

References HasPath(), m_pathList, and PathExists().

Referenced by gnDNXSource::ParseStream().

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 232 of file gnSourceFactory.cpp.

References gnBaseSource::Clone(), ErrorMsg(), FileNotOpened(), getFileString(), GetURL(), HasSource(), m_pathList, m_sourceList, MatchSourceClass(), gnBaseSource::Open(), and Throw_gnEx.

Referenced by gnDNXSource::ParseStream().

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 114 of file gnSourceFactory.cpp.

References m_pathList.

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 333 of file gnSourceFactory.cpp.

References gnBaseSource::Close(), and m_sourceList.

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 318 of file gnSourceFactory.cpp.

References gnBaseSource::Close(), IndexOutOfBounds(), m_sourceList, and Throw_gnEx.

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 67 of file gnSourceFactory.cpp.

References m_sourceClassList.

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 213 of file gnSourceFactory.h.

References m_pDefaultSourceClass.

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 131 of file gnSourceFactory.cpp.

References m_pathList.

uint32 gnSourceFactory::GetPathListSize   const [inline]
 

Returns the number of directory paths to search for files.

Returns:
The list size.

Definition at line 220 of file gnSourceFactory.h.

References m_pathList, and uint32.

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 312 of file gnSourceFactory.cpp.

References m_sourceList.

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 75 of file gnSourceFactory.cpp.

References m_pDefaultSourceClass, and m_sourceClassList.

Referenced by MatchSourceClass().

uint32 gnSourceFactory::GetSourceClassListSize   const [inline]
 

Returns the number of file extension to class mappings.

Returns:
The list size.

Definition at line 199 of file gnSourceFactory.h.

References m_sourceClassList, and uint32.

gnSourceFactory * gnSourceFactory::GetSourceFactory   [inline, static]
 

Returns the current source factory.

Returns:
The current source factory.

Definition at line 189 of file gnSourceFactory.h.

References gnSourceFactory().

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

uint32 gnSourceFactory::GetSourceListSize   const [inline]
 

Returns the number of open data sources.

Returns:
The list size.

Definition at line 225 of file gnSourceFactory.h.

References m_sourceList, and uint32.

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

Definition at line 200 of file gnSourceFactory.cpp.

References uint32.

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 137 of file gnSourceFactory.cpp.

References m_pathList, standarizePathString(), and uint32.

Referenced by AddPath().

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 351 of file gnSourceFactory.cpp.

References getFileString(), m_pathList, m_sourceList, and standarizePathString().

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 90 of file gnSourceFactory.cpp.

References m_sourceClassList.

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 122 of file gnSourceFactory.cpp.

References m_pathList, and PathExists().

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 82 of file gnSourceFactory.cpp.

References GetSourceClass(), and m_pDefaultSourceClass.

Referenced by AddSource().

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

boolean gnSourceFactory::PathExists string    path const [private]
 

Definition at line 378 of file gnSourceFactory.cpp.

References standarizePathString().

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 204 of file gnSourceFactory.h.

References gnBaseSource::Clone(), and m_pDefaultSourceClass.

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 96 of file gnSourceFactory.cpp.

References gnBaseSource::Clone(), and m_sourceClassList.


Member Data Documentation

vector< string > gnSourceFactory::m_pathList [private]
 

Definition at line 182 of file gnSourceFactory.h.

Referenced by AddPath(), AddSource(), DelPath(), GetPath(), GetPathListSize(), HasPath(), HasSource(), and InsPath().

gnBaseSource* gnSourceFactory::m_pDefaultSourceClass [private]
 

Definition at line 185 of file gnSourceFactory.h.

Referenced by GetDefaultSourceClass(), GetSourceClass(), gnSourceFactory(), MatchSourceClass(), and SetDefaultSourceClass().

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

Definition at line 184 of file gnSourceFactory.h.

Referenced by DelSourceClass(), GetSourceClass(), GetSourceClassListSize(), gnSourceFactory(), HasSourceClass(), SetSourceClass(), and ~gnSourceFactory().

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

Definition at line 183 of file gnSourceFactory.h.

Referenced by AddSource(), DelSource(), GetSource(), GetSourceListSize(), HasSource(), and ~gnSourceFactory().


The documentation for this class was generated from the following files:
Generated on Mon Feb 3 02:34:53 2003 for libGenome by doxygen1.3-rc3