Closed
Conversation
This interface is moved from imagej-ops. It might be easier for the underlying class inside the module to implement this interface than to specify the initializer inside the Plugin annotation, especially because annotation could not be partially overridden. Now the Initializable interface has higher priority than the initializer annotation, and at most one of them will be called when a module is initialized.
ctrueden
requested changes
Oct 17, 2016
| if (delegateObject instanceof Initializable) { | ||
| ((Initializable) delegateObject).initialize(); | ||
| } | ||
| else { |
Member
There was a problem hiding this comment.
Do we need to do either/or here? If so, we should issue a warning when the module implements Initializable and declares an initializer method. Or simpler: why not just run both initializers if both are available/specified?
Member
There was a problem hiding this comment.
There is also a question of handling the case where the Module itself is Initializable. This can happen e.g. for modules which extend AbstractModule directly. I think we should check that instead, and then have CommandModule implement Initializable, working analogously to how support works for Cancelable.
| * #%L | ||
| * ImageJ software for multidimensional image processing and analysis. | ||
| * %% | ||
| * Copyright (C) 2014 - 2016 Board of Regents of the University of |
Member
There was a problem hiding this comment.
This copyright header should be updated to match the rest of SJC.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See imagej-ops#455
This interface is moved from imagej-ops. It might be easier for the
underlying class inside the module to implement this interface than to
specify the initializer inside the Plugin annotation, especially because
annotation could not be partially overridden. Now the Initializable
interface has higher priority than the initializer annotation, and at
most one of them will be called when a module is initialized.