Interface DynamicOptions.BeanReceiver

  • All Known Implementing Classes:
    ChangeQueryProcessor, GetChange, GetDetail, 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 Detail

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