The org.apache.qpid.proton.amqp.transport.Source and org.apache.qpid.proton.amqp.transport.Target interfaces are used on the Link interface setters/getters, however they container almost none of the methods needed to use the Source and Target. The impls have all the necessary methods, but folks would currently need to cast the values to them in order to use in almost any meaningful way, and they exist in a completely different package which makes them less than obvious. Finally, most of the interfaces for engine objects have a factory in their interface for creating them, the Source and Target ones do not, making their use less obvious again.
Changing the existing interface/impl names/packages would break most existing uses, so we probably want to avoid that, but we should at least update the interfaces to contain the required methods, and perhaps add the equivalent factories to make their creation more obvious.
This message was sent by Atlassian JIRA