package org.opennaas.core.resources.transport; import org.opennaas.core.resources.protocol.ProtocolSessionContext; /** * This interface must be implemented by the transport packages. Each one must provide at least one class that implements this interface and publish * it to the OSGi registry. This is mainly to avoid the cyclic dependency problem between modules and transports. Implementing classes do not need to * maintain the created instances (i.e. they can be stateless) The create method of the transport factory will validate the information in the module * descriptor (if there's missing or incorrect information it will throw an exception) and, if correct, it will create a transport instance. * * @author Eduard Grasa * */ public interface ITransportFactory { public ITransport createTransportInstance(ProtocolSessionContext context) throws TransportException; }