org.eclipse.edje/src/main/java/org/eclipse/edje/io/Connector.java
public static Connection open(String packageName, String url) throws IOException {
		String protocol;
		try {
			protocol = url.substring(0, url.indexOf(':', 0));
		} catch (IndexOutOfBoundsException e) {
			throw new ConnectionNotFoundException(url, e);
		}
		SecurityManager sm = System.getSecurityManager();
		if (sm != null) {
			sm.checkPermission(new ConnectionPermission(url));
		}

		Class<ConnectionFactory> connectionClass;
		connectionClass = getConnectionFactoryClass(packageName, url, protocol);

		ConnectionFactory connectionFactory;
		try {
			connectionFactory = connectionClass.newInstance();
			return connectionFactory.open(url);
		} catch (InstantiationException e) {
			throw new IOException(e);
		} catch (IllegalAccessException e) {
			throw new SecurityException();
		} catch (RuntimeException e) {
			throw new IOException(e);
		}
	}
/**
	 * Create and open a Connection with the specified {@link ConnectionFactory}
	 * package name. The {@link ConnectionFactory} implementation class must be
	 * available in the given package and sub package <code>xxx</code> where
	 * <code>xxx</code> is the connection protocol. The connection protocol (
	 * <code>xxx</code>) must be the first argument of URL, followed by ':'. The
	 * class name must be <code>ConnectionFactory</code>:
	 *
	 * <pre>
	 * package1.package2.package3.xxx.ConnectionFactory
	 * </pre>
	 *
	 * @param url
	 *            the connection URL to open
	 * @param packageName
	 *            the package name prefix of the {@link ConnectionFactory} to
	 *            bind
	 * @throws ConnectionNotFoundException
	 *             if connection protocol is not found
	 * @throws IOException
	 *             if an I/O error occurs
	 * @throws SecurityException
	 *             if a security manager exists and it does not allow the caller
	 *             to open such kind of connection
	 * @see ConnectionFactory
	 * @return the open {@link Connection}.
	 */
Create and open a Connection with the specified  ConnectionFactory
package name. The  ConnectionFactory implementation class must be
available in the given package and sub package xxx where
xxx is the connection protocol. The connection protocol (
xxx) must be the first argument of URL, followed by ':'. The
class name must be ConnectionFactory.




Create and open a Connection with the specified ConnectionFactory package name . The ConnectionFactory implementation class must be available in the given package and sub package xxx where xxx is the connection protocol . The connection protocol ( xxx ) must be the first argument of URL followed by ' : ' . The class name must be ConnectionFactory .
public static Connection open(String packageName, String url) throws IOException {
		String protocol;
		try {
			protocol = url.substring(0, url.indexOf(':', 0));
		} catch (IndexOutOfBoundsException e) {
			throw new ConnectionNotFoundException(url, e);
		}
		SecurityManager sm = System.getSecurityManager();
		if (sm != null) {
			sm.checkPermission(new ConnectionPermission(url));
		}
		Class<ConnectionFactory> connectionClass;
		connectionClass = getConnectionFactoryClass(packageName, url, protocol);
		ConnectionFactory connectionFactory;
		try {
			connectionFactory = connectionClass.newInstance();
			return connectionFactory.open(url);
		} catch (InstantiationException e) {
			throw new IOException(e);
		} catch (IllegalAccessException e) {
			throw new SecurityException();
		} catch (RuntimeException e) {
			throw new IOException(e);
		}
	}
public static Connection open ( String packageName , String url ) throws IOException { String protocol ; try { protocol = url . substring ( 0 , url . indexOf ( ':' , 0 ) ) ; } catch ( IndexOutOfBoundsException e ) { throw new ConnectionNotFoundException ( url , e ) ; } SecurityManager sm = System . getSecurityManager ( ) ; if ( sm != null ) { sm . checkPermission ( new ConnectionPermission ( url ) ) ; } Class < ConnectionFactory > connectionClass ; connectionClass = getConnectionFactoryClass ( packageName , url , protocol ) ; ConnectionFactory connectionFactory ; try { connectionFactory = connectionClass . newInstance ( ) ; return connectionFactory . open ( url ) ; } catch ( InstantiationException e ) { throw new IOException ( e ) ; } catch ( IllegalAccessException e ) { throw new SecurityException ( ) ; } catch ( RuntimeException e ) { throw new IOException ( e ) ; } }
Create and open a Connection with the specified {@link ConnectionFactory}
 package name.
Create and open a Connection with the specified { @link ConnectionFactory } package name .