Hm... since Message extends Serializable, all messages could implement a
readObject which would undo making ivars final for the classes that
currently do not implement readObject. Should all Message impls implement
read/writeObject? Now, some do and some don't.

Gary

On Sat, Oct 6, 2012 at 1:47 PM, Ralph Goers <[email protected]>wrote:

> Yes, where appropriate.
>
> Ralph
>
> On Oct 6, 2012, at 10:23 AM, Gary Gregory wrote:
>
> Can we then make more ivars final?
>
> Gary
>
> On Sat, Oct 6, 2012 at 2:39 AM, Ralph Goers <[email protected]>wrote:
>
>> So I took a look at these.  ObjectMessage and SimpleMessage already are
>> immutable.  I've modified ParameterizedMessage, StringFormattedMessage and
>> ThreadDumpMessage so that they are also immutable and not seen any side
>> effects.  I've made LocalizedMessage mostly immutable but it is updated
>> when the LCan ogEvent is created as it needs the Logger name to locate the
>> resource bundle (this is one of the things I really dislike about the class
>> but it is required to allow compatibility with Log4j 1.x).  MapMessage
>> isn't immutable as the Map can be updated by calling the put method. After
>> thinking about it I'm more inclined to leave that class as is as the
>> default constructor creates an empty Map to be populated.
>>
>> Ralph
>>
>> On Oct 5, 2012, at 2:03 PM, Gary Gregory wrote:
>>
>> Ok, cool. I'd like to assume this piece is settled so we can move the
>> other chat forward :)
>>
>> Gary
>>
>> On Fri, Oct 5, 2012 at 4:37 PM, Ralph Goers 
>> <[email protected]>wrote:
>>
>>> Yes, they should all be. Even MapMessage really shouldn't allow the Map
>>> to be updated through the Message.  I'll have to look at them and figure
>>> out why I let some of them have set methods.
>>>
>>> Ralph
>>>
>>>
>>> On Oct 5, 2012, at 1:25 PM, Gary Gregory wrote:
>>>
>>> Hi All:
>>>
>>> Should Message implementations be immutable?
>>>
>>> At least:
>>>
>>>    - ObjectMessage
>>>    - ParameterizedMessage
>>>    - SimpleMessage
>>>    - StringFormattedMessage
>>>    - ThreadDumpMessage
>>>
>>>
>>> Gary
>>>
>>> --
>>> E-Mail: [email protected] | [email protected]
>>> JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0
>>> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: [email protected] | [email protected]
>> JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0
>> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>
>
> --
> E-Mail: [email protected] | [email protected]
> JUnit in Action, 2nd Ed: <http://goog_1249600977/>http://bit.ly/ECvg0
> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>
>


-- 
E-Mail: [email protected] | [email protected]
JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to