SPI
public @interface SPI
Annotates a program element (class, method, package, etc.) as an element of Service Provider Interface (SPI).
SPI is used to enable framework extension and replaceable components (implement a new storage, etc.).
See "Effective Java 2nd Edition", chapter 2, item 1 for more information on service provider framework pattern.