[
https://issues.apache.org/jira/browse/JENA-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16384396#comment-16384396
]
ASF GitHub Bot commented on JENA-1495:
--
GitHub user jaco0646 opened a pull request:
https://github.com/apache/jena/pull/368
JENA-1495 Return Model from PrefixMapping methods.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jaco0646/jena Covariant-Model-Methods
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/jena/pull/368.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #368
commit db778544bf71099447b4126daebf5e0df79c3e3c
Author: jaco0646
Date: 2018-03-03T01:06:51Z
Return Model from PrefixMapping methods.
> Covariant return type for Model's PrefixMapping methods.
>
>
> Key: JENA-1495
> URL: https://issues.apache.org/jira/browse/JENA-1495
> Project: Apache Jena
> Issue Type: Improvement
> Components: Core
>Affects Versions: Jena 3.6.0
>Reporter: Adam Jacobs
>Priority: Trivial
> Labels: easyfix
>
> The {{Model}} interface inherits several methods from {{PrefixMapping}} which
> return {{this}}.
> The return type of these methods can be refined to allow call chaining with
> the {{Model}} object.
> There appear to be two concrete implementations of {{Model}} which override
> the {{PrefixMapping}} methods: {{ModelCom}} and {{SecuredModelImpl}}. Steps
> to add covariant return types for prefix mapping are as follows.
> Add these six methods to the Model interface.
> # Model setNsPrefix( String prefix, String uri );
> # Model removeNsPrefix( String prefix );
> # Model clearNsPrefixMap();
> # Model setNsPrefixes( PrefixMapping other );
> # Model setNsPrefixes( Map map );
> # Model withDefaultMappings( PrefixMapping map );
> ...and update ModelCom accordingly.
> Add these six methods to the SecuredModel interface.
> # SecuredModel setNsPrefix( String prefix, String uri );
> # SecuredModel removeNsPrefix( String prefix ); // This method is already
> defined.
> # SecuredModel clearNsPrefixMap();
> # SecuredModel setNsPrefixes( PrefixMapping other );
> # SecuredModel setNsPrefixes( Map map );
> # SecuredModel withDefaultMappings( PrefixMapping map );
> ...and update SecuredModelImpl accordingly.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)