Package aQute.bnd.build
Class WorkspaceExternalPluginHandler
java.lang.Object
aQute.bnd.build.WorkspaceExternalPluginHandler
- All Implemented Interfaces:
AutoCloseable
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T,
R> Result<R> call
(String pluginName, Class<T> c, FunctionWithException<T, Result<R>> f) call
(String mainClass, org.osgi.framework.VersionRange range, Processor context, Map<String, String> attrs, List<String> args, InputStream stdin, OutputStream stdout, OutputStream stderr) void
close()
getImplementations
(Class<T> interf, Attrs attrs) Returns list of external plugin proxies that implement the given interface.private Result<Processor.CL>
getLoader
(org.osgi.resource.Capability cap) private static Method
private ProgressPlugin.Task
-
Field Details
-
logger
static final org.slf4j.Logger logger -
close
-
workspace
-
loaders
-
-
Constructor Details
-
WorkspaceExternalPluginHandler
WorkspaceExternalPluginHandler(Workspace workspace)
-
-
Method Details
-
call
-
call
public 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) -
getTask
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
getImplementations
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
-
load
-
getLoader
-
getMethod
-