I was giving some more thought to this and noted that, since most constants in the Camel components are really for header and parameter names, we wouldn't really enjoy the benefits of type safety that enums do bring. Instead, I think we should pick either constant classes or interfaces and start the alignment, what do you guys think?
On Tue, May 24, 2011 at 2:45 PM, Fernando Ribeiro < [email protected]> wrote: > It is about type safety more than anything else, meaning you can't possibly > pass an invalid value. One could also say it is the "proper" implementation > of enumerations in Java 5+, but I prefer the first argument. > > If we choose enums, we can split header and parameter names, for example, > in types like <ComponentPrefix>Headers <ComponentPrefix>Params (e.g: > FreemarkerHeaders and FreemarkerParams) instead of having to diff them in > classes/interfaces w/ prefixes like HEADER_ and PARAM_ -- I like this. > > What do you guys think? > > On Tue, May 24, 2011 at 5:28 AM, Willem Jiang <[email protected]>wrote: > >> If we are using enums, what kind of benefit can we get compare to use >> class or interface ? >> >> +1 to align this. >> >> Willem >> >> >> On 5/24/11 1:08 AM, Fernando Ribeiro wrote: >> >>> Claus, anyone? >>> >>> On Tue, May 17, 2011 at 4:35 PM, Fernando Ribeiro< >>> [email protected]> wrote: >>> >>> Me neither, but agree we should align this, may also use enums, as JDK >>>> 1.4 >>>> was already dropped, what do you think, everybody? >>>> >>>> On Tue, May 17, 2011 at 4:30 PM, Christian Müller< >>>> [email protected]> wrote: >>>> >>>> We have classes and interfaces, e.g.: >>>>> >>>>> interface --> org.apache.camel.component.cxf.CxfConstants >>>>> class --> org.apache.camel.component.jms.JmsConstants >>>>> >>>>> We should align this. At present, I don't have any preferences. >>>>> >>>>> Christian >>>>> >>>>> On Mon, May 16, 2011 at 11:20 PM, Fernando Ribeiro< >>>>> [email protected]> wrote: >>>>> >>>>> Any feedback yet? Thanks. >>>>>> >>>>>> On Fri, May 13, 2011 at 3:53 PM, Fernando Ribeiro< >>>>>> [email protected]> wrote: >>>>>> >>>>>> All, >>>>>>> >>>>>>> Is there any agreement here about whether we use interfaces, classes >>>>>>> >>>>>> or >>>>> >>>>>> enums for constants? If so, are there naming conventions that we use >>>>>>> >>>>>> or >>>>> >>>>>> would like to use going forward? >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Fernando >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>>> >>> >> >> -- >> Willem >> ---------------------------------- >> FuseSource >> Web: http://www.fusesource.com >> Blog: http://willemjiang.blogspot.com (English) >> http://jnn.javaeye.com (Chinese) >> Twitter: willemjiang >> >> Connect at CamelOne May 24-26 >> The Open Source Integration Conference >> http://camelone.com >> > >
