jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Mueller (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-1232) Merge UUID to NodeId
Date Fri, 23 Nov 2007 14:00:43 GMT

    [ https://issues.apache.org/jira/browse/JCR-1232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545031
] 

Thomas Mueller commented on JCR-1232:
-------------------------------------

In my view duplicating source code is worse than adding an interface, but NodeId extends UUID
would be a solution as well.

> Is a UUIDNodeId equal to a UUID instance which contains the same value? What about the
other way around? 

I don't think the current situation is much different. NodeId equals should return false when
comparing with any other class. Similar to Short.equals: One could argue the equals should
return true when comparing with Short(1) with Integer(1), but it does not:

    public boolean equals(Object obj) {
	if (obj instanceof Short) {
	    return value == ((Short)obj).shortValue();
	}
	return false;
    }



> Merge UUID to NodeId
> --------------------
>
>                 Key: JCR-1232
>                 URL: https://issues.apache.org/jira/browse/JCR-1232
>             Project: Jackrabbit
>          Issue Type: Improvement
>          Components: jackrabbit-core
>            Reporter: Jukka Zitting
>            Priority: Minor
>         Attachments: nodeid.patch
>
>
> The current NodeId class is mostly just a wrapper around UUID, which causes two objects
to be instantiated for each node identifier that the system uses. The memory and processing
overhead is quite small, but given that there are tons of NodeId instances it would be good
to eliminate that overhead.
> There is also lots of code that just converts UUIDs to NodeIds and vice versa. We could
simplify such code if we just used NodeId everywhere.
> Also, we might want to open up the possibility of using non-UUID node identifiers at
some point in future, so it would make a lot of sense to remove the NodeId.getUUID method
and rely directly on NodeId and it's equals(), hashCode(), and toString() methods in many
places where we currently use UUIDs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message