Details
-
Improvement
-
Status: Closed
-
Trivial
-
Resolution: Fixed
-
Jena 3.6.0
Description
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.
Attachments
Issue Links
- links to