Cleanup event generics#1
Open
xor-freenet wants to merge 3 commits into
Open
Conversation
* Parametrize Notification with generic argument * Use proper generic types instead of <?> wherever possible on Subscription and Notification * Reduce the amount of (now unnecessary) casting * Don't write Subscription<? extends EventSource>: the EventType is not exposed directly anywhere and there cannot exist any Subscription where the EventType does not extend EventSource, given the class signature of Subscription. Write Subscription<?> instead when the EventType is not known. * Classes are of type Class<? extends XXX> where XXX is the non-generic superclass of XXX<?>. Hence there is no need to ever write Class<? extends XXX<?>>, and doing so requires unchecked casts all over the place.
The Notification has knowledge of which FCP method to invoke. Moving this responsibility to Notification instead of the Subscription considerably reduces the amount of FCP related code duplication and number of instanceof checks.
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.
Copy of the pull request on the repository of freenet since I don't have access to that repository anymore: hyphanet#27
EDIT 2025-06-30:
I have NOT forgotten about this PR! :)
The event-notifications API is currently just not the top priority, the priority is finishing the IdentityFetcher-rewrite which I have been working on for 85 branches now. Given it's been taking that many branches and thus that much time I do not want to get distracted too much, hence I've put this PR on hold.
I will deal with it once the IdentityFetcher-rewrite has been released.