Adam Jacobs created JENA-1495:
---------------------------------

             Summary: 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


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