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...
gnBaseSource* | GetSourceClass (const string &ext) const
| Gets the source class which is mapped to the specified file extension. More...
gnBaseSource* | MatchSourceClass (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...
gnBaseSource* | GetDefaultSourceClass () 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...
gnBaseSource* | AddSource (const string &sourceStr, boolean searchPaths=true)
| Opens and returns a pointer to a source of genetic sequence data. More...
gnBaseSource* | GetSource (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...
gnBaseSource* | HasSource (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
gnBaseSource* | m_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:

- gnSourceFactory.h
- gnSourceFactory.cpp