Service provider interface
Service provider interface is an API intended to be implemented or extended by a third party. It can be used to enable framework extension and replaceable components.
Details
From Java documentation:The concept can be extended to other platforms using the corresponding tools. In the Java Runtime Environment, SPIs are used in: