Book Image

Mastering Eclipse Plug-in Development

By : Alex Blewitt, Bandlem Limited
Book Image

Mastering Eclipse Plug-in Development

By: Alex Blewitt, Bandlem Limited

Overview of this book

Table of Contents (18 chapters)
Mastering Eclipse Plug-in Development
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
Plugging in to JFace and the Common Navigator Framework
Index

Java ServiceLoader


The ServiceLoader class in the java.util package (added in Java 1.6) provides a means of acquiring an instance of an interface or abstract class. It is used by a variety of different parts in the JDK, where a single implementation is required that cannot be known in advance, such as JDBC drivers.

The ServiceLoader class provides a static load method that can be used to return a ServiceLoader, which in turn provides an Iterator over all services available:

ServiceLoader<Driver> sl = ServiceLoader.load(Driver.class);
Iterator<Driver> it = sl.iterator();
while (it.hasNext()) {
  Driver driver = (Driver) it.next();
  // do something with driver
}

The implementation class for the driver is found by consulting a text file, located under the META-INF/services/ directory. When looking for implementations for the java.sql.Driver class, the service loader will attempt to find files called META-INF/services/java.sql.Driver. The contents of these files are fully qualified...