Skip to content

Commit af73346

Browse files
committed
architecture: update link to plugin type tutorial
1 parent 4455f68 commit af73346

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

_pages/develop/architecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ Along those lines, the libraries take great pains to be **UI agnostic**, with no
223223

224224
### Extensibility
225225

226-
Extensibility is [ImageJ](/software/imagej)'s greatest strength. ImageJ provides many different types of plugins, and it is possible to extend the system with your own new types of plugins. See the [create-a-new-plugin-type tutorial](https://github.com/imagej/tutorials/tree/master/maven-projects/create-a-new-plugin-type) for an illustration.
226+
Extensibility is [ImageJ](/software/imagej)'s greatest strength. ImageJ provides many different types of plugins, and it is possible to extend the system with your own new types of plugins. See the [CreateANewPluginType tutorial](https://github.com/imagej/tutorials/tree/master/howtos/src/main/java/howto/plugins/create) for an illustration.
227227

228228
The [SciJava Common](/libs/scijava#scijava-common) (SJC) library provides a plugin framework with {% include wikipedia title='Strong and weak typing' text='strong typing'%}, and makes extensive use of plugins itself, to allow core functionality to be [customized easily](http://c2.com/cgi/wiki?SoftwareSeam). SJC has an powerful plugin discovery mechanism that finds all plugins available on the Java classpath, without knowing in advance what they are or where they are located. It works by indexing the plugins at compile time via an {% include wikipedia title='Java annotation\#Processing' text='annotation processor'%} (inspired by the [SezPoz](https://github.com/jglick/sezpoz) project) which writes the plugin metadata inside the JAR file (in `META-INF/json/org.scijava.plugin.Plugin`). Reading this index allows the system to discover plugin metadata at runtime very quickly *without* loading the plugin classes in advance.
229229

0 commit comments

Comments
 (0)