Francois a écrit :
Le 13/01/2010 12:24, Matthew Swift a écrit :
Hi Emmanuel,
I'm just giveng my point of view about the following, I don't think I
can be relevant elsewhere:
Also, I strongly believe that DNs and RDNs and AVAs should be immutable
objects (as well as any other low level API type). What do you think?
I will go further : DN, RDN and AVA should be immutable,
+1
but Attribute should be immutable too,
Well, it would be a bit inconvenient when manipulating values...
and Entry should have at least an immutable DN (and facilities to copy
an entry with a new DN or ParentDN at factory level).
If the DN is immutable, entry's DN will be too.
For attribute, the rationnal is that one replace attribute by a new
one most of the time, and it's much easier to deal with immutable
attribute - that's one of the aspect of UnboundId SDK that I prefer.
Inside the server, having immutable Attribute is not really a problem.
From the client POV, I'm not convinced...
For Entry's DN, it's linked to the fact that DN are almost IDs for
entries. So, the semantic of such an operation is much likely in two
cases:
- create a copy of an entry with another DN (change RDN but perhaps
not parentDN)
- move an entry (only the parent DN change).
These two cases (I hope I don't forget other ones) are easily
fulfilled througth factory-like method support.