Class WorkspaceExternalPluginHandler

java.lang.Object
aQute.bnd.build.WorkspaceExternalPluginHandler
All Implemented Interfaces:
AutoCloseable

public class WorkspaceExternalPluginHandler extends Object implements AutoCloseable
  • Method Details

    • call

      public <T, R> aQute.bnd.result.Result<R> call(String pluginName, Class<T> c, aQute.bnd.exceptions.FunctionWithException<T,aQute.bnd.result.Result<R>> f)
    • call

      public <T, R> aQute.bnd.result.Result<R> call(String pluginName, org.osgi.framework.VersionRange range, Class<T> c, aQute.bnd.exceptions.FunctionWithException<T,aQute.bnd.result.Result<R>> f)
    • call

      public aQute.bnd.result.Result<Integer> call(String mainClass, org.osgi.framework.VersionRange range, Processor context, Map<String,String> attrs, List<String> args, InputStream stdin, OutputStream stdout, OutputStream stderr)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
    • getImplementations

      public <T> aQute.bnd.result.Result<List<T>> getImplementations(Class<T> interf, Attrs attrs)
      Returns list of external plugin proxies that implement the given interface. The proxies will load the actual plugin on demand when used. That is, the plugins will be quite cheap unless used.
      Parameters:
      interf - the interface listed in `-plugin`.
      attrs - the attributes from the that interface, the name specifies the name of the plugin, wildcards allowed
      Returns:
      a list of plugins loaded from the external plugin set