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.
-