[ImageJ-devel] external plugins

Mark Hiner hiner at wisc.edu
Thu Mar 19 08:51:05 CDT 2015

Hi Jay,

>One of the main things I can't quite envision is how to process the
annotations of an external .java file at runtime so that I can utilize that

You shouldn't have to do this yourself. By using the SciJava plugin
framework you get discovery of all annotated plugins on your classpath, and
processing/indexing of those plugins, for free.

I'm assuming the paradigm that would match your needs is a
HandlerService[1]. The service would perform some function (e.g. opening a
path) and the behavior of that function would be extensible via
HandlerPlugins[2] (e.g. a plugin for handling URLs, files on disk, files in
a database, etc...).

The simplest example of "service chooses a plugin appropriate for the
circumstances" is the AnimalService tutorial[3]. Note that it's not
actually a HandlerService but could easily be converted to one. More
complex examples would be the IOService[4] or SCIFIO's FormatService[5].



On Wed, Mar 18, 2015 at 6:42 PM, Jay Warrick <jay.w.warrick at gmail.com>

> Hi All,
> I am using the scijava plugin framework, ImageJ2, and its Plugin service.
> I would like to allow other people to write a plugin for my software. I'm
> open to suggestions but I'd probably like to enable them to place their
> java/jar/class plugin file in a folder, and I could look into that folder
> to load their plugin. I'm thinking along the lines of how how old ImageJ
> did things. Does anyone have suggestions or example code (e.g., in FIJI
> somewhere) for loading/compiling such plugin files during runtime. One of
> the main things I can't quite envision is how to process the annotations of
> an external .java file at runtime so that I can utilize that information
> (e.g., in conjunction with the PluginService). If there is an inherent
> problem in what I'm hoping to do, please let me know :-) (e.g., if I am
> provided compiled code, I suspect I might need an annotation index to go
> with it if I need that information).
> I figured you guys have tackled this problem thoroughly already and thus
> would be a good resource. Thanks in advance!
> Regards,
> Jay
> _______________________________________________
> ImageJ-devel mailing list
> ImageJ-devel at imagej.net
> http://imagej.net/mailman/listinfo/imagej-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20150319/9eec5460/attachment.html>

More information about the ImageJ-devel mailing list