[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[smila-dev] new datamodel : Id got replaced by String

hi,

I have noticed that the new model removed the Id Interface and replaced it with String.

While I understand the motivation to make things simpler and acknowledge that Strings are the most common form of ids in use, I would have highly recommended to stick to an Id Interface, having the gut feeling that we would have been better off doing so. but maybe it's not too late...

These 2 advantages come to my mind:

1. the code/API becomes more verbose. 
just looking at the type u know what it is used for. this is tremendously helpful in maps, e.g.:

- Map<String, String> could be meaning: Map<Id, String> or Map<String, Id>
- process(Blackboard blackboard, String[] recordIds) vs. delete(Blackboard blackboard, Id[] recordIds)

2. Being able to provide own impl. against an Id Interface might be very useful in certain circumstances and alleviates to need for help classes to construct proper String from a richer Object.

proposal

declare an interface: Id extends CharSequence.

ATM I don't see a need for more methods than what the CharSeq provides. The internal default impl. could use Strings.



Thomas Menzel @ brox IT-Solutions GmbH