[ 
https://issues.apache.org/jira/browse/JENA-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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 <jacobs_007@...>
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<String, String> 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<String, String> map );
>  # SecuredModel withDefaultMappings( PrefixMapping map );
> ...and update SecuredModelImpl accordingly.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to