NOTE: To download the source code for the demos in this presentation, go here:
There exists a great deal of useful information regarding extending Eclipse using the platform-provided extension points, but there seems to be far less material providing solid, introductory information with respect to creating (and effectively consuming) your own extension points. Is this because people tend to not find them useful, or is it perhaps because most simple plugin providers are simply intimidated by them? In either case, this long talk will not only dispel any misgivings you might have about creating your own extension points; it will open your eyes to the benefits of creating and using them in your own Eclipse-based products.
Extension points need not be thought of as a mechanism from which only an elite group of plugin providers can benefit. Creating your own extension points is not only a great way of providing extensible, public interfaces, it is also an excellent way to modularize and generalize your own code (whether you intend for others to consume your extension points or not). This talk will reveal just how easy it is to create your own extension points and how you can benefit from using them in your plugins.
(This talk is geared mostly towards people who have never written an extension point before, and is intended to be introductory material. If you are an experienced extension point author, while you may learn something, you will most likely find this presentation to be largely a review.)
Mark Melvin graduated from the University of Waterloo with a Bachelor's degree in Mechanical Engineering. He started his career designing automation equipment and quickly realized that developing the code to control these machines was much more entertaining. Having been bitten by the software bug (no pun intended), he joined Dspfactory (later AMI Semiconductor, Inc. - now ON Semiconductor) in 2002 where he began developing in Python, and later, Java. He currently spends his waking hours extending Eclipse to be the standard embedded development tools platform of choice for the lineup of ultra-low power, ultra-miniature programmable digital signal processors available from ON Semiconductor.