Interface DynamicOptions.BeanReceiver

All Known Implementing Classes:
ChangeQueryProcessor, GetChange, GetDetail, GetMetaDiff, Query, QueryChanges
Enclosing class:
DynamicOptions

public static interface DynamicOptions.BeanReceiver
The entity which provided additional options may need a way to receive a reference to the DynamicBean it provided. To do so, the existing class should implement BeanReceiver (a setter) and then provide some way for the plugin to request its DynamicBean (a getter.) For example:
   public class Query extends SshCommand implements DynamicOptions.BeanReceiver {
       public void setDynamicBean(String plugin, DynamicOptions.DynamicBean dynamicBean) {
         dynamicBeans.put(plugin, dynamicBean);
       }

       public DynamicOptions.DynamicBean getDynamicBean(String plugin) {
         return dynamicBeans.get(plugin);
       }
   ...
   }
 }
 
  • Method Details

    • setDynamicBean

      void setDynamicBean(String plugin, DynamicOptions.DynamicBean dynamicBean)
    • getExportedBeanReceiver

      default Class<? extends DynamicOptions.BeanReceiver> getExportedBeanReceiver()
      Returns the class that should be used for looking up exported DynamicBean bindings from plugins. Override when a particular REST/SSH endpoint should respect DynamicBeans bound on a different endpoint. For example, GetDetail is just a synonym for a variant of GetChange, and it should respect any DynamicBeans on GetChange. GetChange}. So it should return GetChange.class from this method.