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 Type
    Method
    Description
    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.