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)