[
https://issues.apache.org/jira/browse/WICKET-6550?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16444750#comment-16444750
]
ASF GitHub Bot commented on WICKET-6550:
----------------------------------------
Github user Jezza commented on a diff in the pull request:
https://github.com/apache/wicket/pull/276#discussion_r182876774
--- Diff: wicket-core/src/main/java/org/apache/wicket/Application.java ---
@@ -518,9 +519,13 @@ public void logResponseTarget(final IRequestHandler
requestTarget)
* @throws IllegalArgumentException
* @see MetaDataKey
*/
- public final synchronized <T> Application setMetaData(final
MetaDataKey<T> key, final Object object)
+ @Override
+ public final <T> Application setMetaData(final MetaDataKey<T> key,
final T object)
--- End diff --
I had to change the signature of this method.
Ideally, it should have been that way anyway.
Everything still compiles, which means we weren't putting values in keys
that weren't expecting the value.
I fear that some users might be doing exactly that though, so this whole
IMetadataContext might have to be put off for a bigger version.
> Unify all metadata capable objects.
> -----------------------------------
>
> Key: WICKET-6550
> URL: https://issues.apache.org/jira/browse/WICKET-6550
> Project: Wicket
> Issue Type: Improvement
> Components: wicket
> Reporter: Jezza
> Priority: Minor
> Attachments: Test.java, mock.txt
>
>
> Application, Session, RequestCycle, and Component all have #setMetadata and
> #getMetadata methods, but lack some super object to unify them all.
> These leads to annoying complex code if you wish to implement some basic
> functionality.
> Such as a computeIfAbsent, which needs to be implemented 4 times.
> I propose that we unify them all with one interface.
> I'veĀ attached a mock idea that would solve it, and I'll work on a prototype
> and submit a PR so anyone can take a look.
> I'll add a comment here with the PR number.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)