To create a pluggable interface you define a suite of interfaces that a vendor or other third party must implement with real classes. He bundles his implementation code into a jar. Typically there will be a special registration class in the jar that gives the names of the class to use to implement any given interface, and perhaps some factory classes to create various types of standard object. The registration class might customise the choices based on platform or user specifications.
To use the interface, the user specifies the vendor name whose implementation he wants. From them on he uses factory methods that look up the correct constructors, and via dynamic loading (Class. forName) or reflection call the vendor-specific methods. These methods return objects that the user then manipulates via their standard interface names, not their class names, though in theory you might use abstract class names too. The user is usually never aware of the vendor’s class names, (unless of course he cheats and peeks with Class. toString).
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.18] | The information on this page is for non-military use only. | ||
| You are visitor number 11. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/pluggableinterface.html | J:\mindprod\jgloss\pluggableinterface.html | ||