In contrast to the above, some kinds of plugin are only expected to have exactly one instance each.
For example only one plugin is expected to deal with an application cold start. That is, the Manager expects exactly one instance of an IManagerLifeCycle plugin--no more, and no less. Several such plugins could be added to the plugin manager, but only the first such will be used.
The IManagerLifeCycle plugin has an inner class with a handy method to help us here. The inner class Get has a static method one() which gets the one instance of that plugin. Thus we can call IManagerLifeCycle.Get.one() to get the one manager lifecycle plugin. Other plugin types, which also expect just one instance, usually also have a Get.one() method.
Nik Silver 2002-03-09