[
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