The primary factory is the ConnectorFactory class. It uses the static SourceFactory class to return a connector instance.

The main points to note are that given a source name (e.g. "ext_soap_hoovers"), the underscore characters are replaced with the file separator character. In this case, "ext_soap_hoovers" becomes "ext/soap/hoovers". Then the SourceFactory first scans the ./modules/Connectors/connectors/sources and then the ./custom/modules/Connectors/connectors/sources directories to check for the presence of this file, and returns a source instance if the file is found. The following sequence diagram attempts to highlight the aforementioned steps.
