Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
In my view, org.apache.commons.rdf.simple should also be a possible basis for other implementations - for instance if they only need a new Graph and Triple implementation, they should be able to use the other classes directly.
Current the simple classes are defined like:
final class LiteralImpl implements Literal {
with a mixture of public and package constructors.
I would prefer for these to all be public, non-final, so that it would be easy to extend the simple* classes if so desired, and to instantiate them directly without having to make a shadow of SimpleRDFTermFactory.
(Note - SimpleRDFTermFactory is not final and so can easily be subclassed to reuse some of the implementations, but constructors must be at least protected to be subclassable outside this package)