Stian Soiland-Reyes created COMMONSRDF-7:
--------------------------------------------

             Summary: Add immutability to the API for all RDFTerm and Triple 
instances 
                 Key: COMMONSRDF-7
                 URL: https://issues.apache.org/jira/browse/COMMONSRDF-7
             Project: Apache Commons RDF
          Issue Type: Improvement
            Reporter: Stian Soiland-Reyes


>From https://github.com/commons-rdf/commons-rdf/issues/57

ansell:
{quote}
As mentioned in #45, should we add a contract requirement that all RDFTerm 
instances (and Triple?) be implemented as immutable objects?
https://github.com/commons-rdf/commons-rdf/issues/45
{quote}

stain:
{quote}
+1, if we say SHOULD. But only the exposed RDFTerm++ methods need to be 
immutable - so this should probably go into each of their descriptions. So if I 
have a getDatabaseThingie() method that can be mutable.
{quote}

ansell:
{quote}


The value of stating that the objects must be immutable is decreased if it only 
applies to the results of the API methods. A useful goal would be to ensure 
that the entire object is immutable to give a guarantee about threadsafety, but 
that may be too much for all implementations to support.

Just stating that the results of the visible API methods are immutable doesn't 
help much. It is also not likely to apply to the methods that return Optional, 
as to enable serialisation, the actual field may not be an Optional itself in 
most cases.
{quote}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to