Interface DesignPlugin
- All Known Implementing Classes:
ResiliencePlugin, SustainabilityPlugin
public interface DesignPlugin
A bundle of extra objectives and constraints contributed by a library on the classpath.
Register an implementation in
META-INF/services/com.eqixiac.equinix.design.spi.DesignPlugin
and the engines pick it up through discover(). A contributed objective takes part in
ranking only when the spec gives its id a positive weight; a contributed constraint always applies.-
Method Summary
Modifier and TypeMethodDescriptiondefault List<Constraint> default CurrencyConverterA currency converter this plug-in contributes (for example a live FX feed).static List<DesignPlugin> discover()Loads every plug-in registered on the classpath.name()
-
Method Details
-
name
String name()- Returns:
- a short name for diagnostics
-
objectives
-
constraints
- Returns:
- constraints to add; never
null
-
currencyConverter
A currency converter this plug-in contributes (for example a live FX feed). It ranks below rates pinned in the spec'scommercial.exchangeRatesand above the SDK's bundled reference rates.- Returns:
- the converter, or
nullfor none
-
discover
Loads every plug-in registered on the classpath.- Returns:
- the plug-ins, in
ServiceLoaderorder
-