You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lecharny <el...@gmail.com> on 2011/02/03 08:26:13 UTC
Codec hierarchy feedback
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
Re: Codec hierarchy feedback
Posted by Alex Karasulu <ak...@apache.org>.
On Thu, Feb 3, 2011 at 9:26 AM, Emmanuel Lecharny <el...@gmail.com> wrote:
> 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.
Looks great. Love the pretty diagrams which we can put in our doco.
Let me know how far you got last night with this.
Thanks,
Alex