[ 
https://issues.apache.org/jira/browse/COMMONSRDF-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15611411#comment-15611411
 ] 

ASF GitHub Bot commented on COMMONSRDF-7:
-----------------------------------------

GitHub user stain opened a pull request:

    https://github.com/apache/incubator-commonsrdf/pull/26

    COMMONSRDF-7 RDFTerm/Triple/Quad are immutable

    [COMMONSRDF-7](https://issues.apache.org/jira/browse/COMMONSRDF-7)
    
    also clarify `RDFTerm.equals()` and `RDFTerm.hashCode()`
    by delegation to its specializations IRI/BlankNode/Literal
    
    Suggested javadoc: 
    
    * 
[RDFTerm](http://stain.github.io/incubator-commonsrdf/COMMONSRDF-7/org/apache/commons/rdf/api/RDFTerm.html)
    * 
[Triple](http://stain.github.io/incubator-commonsrdf/COMMONSRDF-7/org/apache/commons/rdf/api/Triple.html)
    * 
[Quad](http://stain.github.io/incubator-commonsrdf/COMMONSRDF-7/org/apache/commons/rdf/api/Quad.html)


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/incubator-commonsrdf COMMONSRDF-7

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-commonsrdf/pull/26.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #26
    
----
commit cdc76af17932dcdd4c27cf1842445e5f5a90ae46
Author: Stian Soiland-Reyes <[email protected]>
Date:   2016-10-27T09:56:38Z

    COMMONSRDF-7 RDFTerm/Triple/Quad are immutable
    
    also clarify RDFTerm.equals() and RDFTerm.hashCode()
    by delegation to its specializations IRI/BlankNode/Literal

----


> Document that RDFTerm, Triple and Quad are immutable
> ----------------------------------------------------
>
>                 Key: COMMONSRDF-7
>                 URL: https://issues.apache.org/jira/browse/COMMONSRDF-7
>             Project: Apache Commons RDF
>          Issue Type: Improvement
>          Components: api
>            Reporter: Stian Soiland-Reyes (old)
>            Assignee: Stian Soiland-Reyes
>              Labels: discussion, immutable
>             Fix For: 0.3.0
>
>
> 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