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 information
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]. Best, Mark [1] https://github.com/scijava/scijava-common/blob/scijava-common-2.39.0/src/main/java/org/scijava/plugin/HandlerService.java [2] https://github.com/scijava/scijava-common/blob/scijava-common-2.39.0/src/main/java/org/scijava/plugin/HandlerPlugin.java [3] https://github.com/imagej/imagej-tutorials/tree/00394f9f5010d1787b9bf584b6e90eed01beec0d/create-a-new-plugin-type/src/main/java [4] https://github.com/scijava/scijava-common/blob/scijava-common-2.39.0/src/main/java/org/scijava/io/IOService.java [5] https://github.com/scifio/scifio/blob/scifio-0.21.1/src/main/java/io/scif/services/FormatService.java On Wed, Mar 18, 2015 at 6:42 PM, Jay Warrick <jay.w.warr...@gmail.com> wrote: > 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@imagej.net > http://imagej.net/mailman/listinfo/imagej-devel >
_______________________________________________ ImageJ-devel mailing list ImageJ-devel@imagej.net http://imagej.net/mailman/listinfo/imagej-devel