Interface MerlinPlugin
public interface MerlinPlugin
A reflection-friendly service for interacting with a simulation model.
Since the ModelType type has generic type parameters, it cannot be instantiated reflectively
without using raw types, which puts the onus on the client to decide what type arguments it should take. However,
each implementation of ModelType is only defined for *one* set of type arguments, which are
simply unknown to the client. Instead, the MerlinPlugin interface provides an extra layer of indirection,
providing a method that returns a non-raw type with wildcard type arguments, so that the MerlinPlugin itself
is safe to instantiate reflectively.
Implementations should register with the ServiceLoader service registry; see that class
for details.
-
Method Summary
Modifier and TypeMethodDescriptionModelType<?, ?> Gets the model type for the mission model associated with this plugin.
-
Method Details
-
getModelType
ModelType<?,?> getModelType()Gets the model type for the mission model associated with this plugin.- Returns:
- The model type associated with this plugin.
-