[ 
https://issues.apache.org/jira/browse/JENA-1495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16385149#comment-16385149
 ] 

ASF GitHub Bot commented on JENA-1495:
--------------------------------------

Github user ajs6f commented on a diff in the pull request:

    https://github.com/apache/jena/pull/368#discussion_r172049845
  
    --- Diff: jena-core/src/main/java/org/apache/jena/rdf/model/Model.java ---
    @@ -1051,4 +1051,12 @@ Remove all the statements matching (s, p, o) from 
this model.
             Answer true iff .close() has been called on this Model.
         */
         public boolean isClosed();
    +
    +    // Override return type for methods inherited from PrefixMapping
    --- End diff --
    
    We should use `@Override` for explicitness on these changes.


> 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