Thanks. So content would be for things like Streams/XMLReaderWriters/Faults etc.
Any thoughts on the second part of the e-mail about the generic type-safety of get/setContent(). Cheers. Michael Quilleash Morgan Stanley | Technology 20 Cabot Square | Canary Wharf | Floor 01 London, E14 4QW Phone: +44 20 7677-4543 [EMAIL PROTECTED] -----Original Message----- From: Daniel Kulp [mailto:[EMAIL PROTECTED] Sent: 29 September 2008 14:34 To: [email protected] Cc: Quilleash, Michael (IT) Subject: Re: Message.getContent vs Message.get On Saturday 27 September 2008 8:03:25 am Quilleash, Michael (IT) wrote: > Hi all, > > Is there any reason there are two different, but similar in > functionality, methods on the Message API? > > getContent( Class<T> clazz ) and get( Class<T> clazz ) both seem to do > pretty much the same thing. Just a bit confusing when I accidently > use them interchangably. The content is really the "content" that was transferred. The "get" is basically a map of properties (litterally, Map<String, Object>) that can be associated with the message/exchange. Basically, a place for interceptors to store extra information as the message flows. The get(Class<T>) and put(Class<T>,..) methods are just wrappers that do: this.get(cls.getName()) type of thing as a convenience. Dan > I also noticed that setContent doesn't enforce the generic type properly. > > <T> void setContent(Class<T> format, Object content); > <T> T getContent(Class<T> format); Would allow class and object > types to be incompatible and then a subsequent call to getContent() > would ClassCastException. > > e.g. > > // compiles ok > setContent( XMLStreamReader.class, new Integer( 0 ) ); > > // fails at runtime despite generic "safety" > XMLStreamReader xmlStreamReader = getContent( XMLStreamReader.class ); > > The get/put pairing enforces this correctly. > > Cheers. > > Michael Quilleash > Morgan Stanley | Technology > 20 Cabot Square | Canary Wharf | Floor 01 London, E14 4QW > Phone: +44 20 7677-4543 > [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED] >com> -------------------------------------------------------- > > NOTICE: If received in error, please destroy and notify sender. Sender does > not intend to waive confidentiality or privilege. Use of this email is > prohibited when received in error. -- Daniel Kulp [EMAIL PROTECTED] http://www.dankulp.com/blog -------------------------------------------------------- NOTICE: If received in error, please destroy and notify sender. Sender does not intend to waive confidentiality or privilege. Use of this email is prohibited when received in error.
