Hi guys,

after the mails we exchanged yesterday, here is some proposal for the Codec hierarchy we came with :

http://d.pr/iGKG

In case the image link is broken, here is a text version
(XXX) : interface
[XXX] : Class
{XXX} : Abstract class

General case for a specific control :

  (Control) o------- {AbstractControl}
      ^                     ^
      |                     |
(EntryChange) o----- [EntryChangeImpl]

Special case for Control we don't declare in the API :

  (Control) o------- {AbstractControl}
      o                     ^
      |                     |
      +------------ [OpaqueControlImpl]

Base line :
- all the implementations ends with an *Impl* postfix
- all specific controls have an interface with no *I* prefix
- the AbstractControl contains shared fields (OID and criticality)
- the getValue(), setValue() and hasValue() are hidden for all specific controls, except for the OpaqueControlImpl class

About the Decorators, we also came with a simpler hierarchy :
http://d.pr/Td9V

It's not final yet.

Thanks !

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to