public final class ReusableMessageFactory extends java.lang.Object implements MessageFactory2, java.io.Serializable
MessageFactory interface that avoids allocating temporary objects where possible.
Message instances are cached in a ThreadLocal and reused when a new message is requested within the same thread.ParameterizedMessageFactory,
ReusableSimpleMessage,
ReusableObjectMessage,
ReusableParameterizedMessage,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
static ReusableMessageFactory |
INSTANCE
Instance of ReusableMessageFactory..
|
private static long |
serialVersionUID |
private static java.lang.ThreadLocal<ReusableObjectMessage> |
threadLocalObjectMessage |
private static java.lang.ThreadLocal<ReusableParameterizedMessage> |
threadLocalParameterized |
private static java.lang.ThreadLocal<ReusableSimpleMessage> |
threadLocalSimpleMessage |
| Constructor and Description |
|---|
ReusableMessageFactory()
Constructs a message factory.
|
| Modifier and Type | Method and Description |
|---|---|
private static ReusableObjectMessage |
getObject() |
private static ReusableParameterizedMessage |
getParameterized() |
private static ReusableSimpleMessage |
getSimple() |
Message |
newMessage(java.lang.CharSequence charSequence)
Creates a new message for the specified CharSequence.
|
Message |
newMessage(java.lang.Object message)
Creates
ReusableObjectMessage instances. |
Message |
newMessage(java.lang.String message)
Creates
ReusableSimpleMessage instances. |
Message |
newMessage(java.lang.String message,
java.lang.Object... params)
Creates
ReusableParameterizedMessage instances. |
Message |
newMessage(java.lang.String message,
java.lang.Object p0)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4,
java.lang.Object p5)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4,
java.lang.Object p5,
java.lang.Object p6)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4,
java.lang.Object p5,
java.lang.Object p6,
java.lang.Object p7)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4,
java.lang.Object p5,
java.lang.Object p6,
java.lang.Object p7,
java.lang.Object p8)
Creates a new parameterized message.
|
Message |
newMessage(java.lang.String message,
java.lang.Object p0,
java.lang.Object p1,
java.lang.Object p2,
java.lang.Object p3,
java.lang.Object p4,
java.lang.Object p5,
java.lang.Object p6,
java.lang.Object p7,
java.lang.Object p8,
java.lang.Object p9)
Creates a new parameterized message.
|
static void |
release(Message message)
Switches the
reserved flag off if the specified message is a ReusableParameterizedMessage,
otherwise does nothing. |
public static final ReusableMessageFactory INSTANCE
private static final long serialVersionUID
private static java.lang.ThreadLocal<ReusableParameterizedMessage> threadLocalParameterized
private static java.lang.ThreadLocal<ReusableSimpleMessage> threadLocalSimpleMessage
private static java.lang.ThreadLocal<ReusableObjectMessage> threadLocalObjectMessage
public ReusableMessageFactory()
private static ReusableParameterizedMessage getParameterized()
private static ReusableSimpleMessage getSimple()
private static ReusableObjectMessage getObject()
public static void release(Message message)
reserved flag off if the specified message is a ReusableParameterizedMessage,
otherwise does nothing. This flag is used internally to verify that a reusable message is no longer in use and
can be reused.message - the message to make available againpublic Message newMessage(java.lang.CharSequence charSequence)
MessageFactory2newMessage in interface MessageFactory2charSequence - the (potentially mutable) CharSequencepublic Message newMessage(java.lang.String message, java.lang.Object... params)
ReusableParameterizedMessage instances.newMessage in interface MessageFactorymessage - The message pattern.params - The message parameters.MessageFactory.newMessage(String, Object...)public Message newMessage(java.lang.String message, java.lang.Object p0)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterp5 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterp5 - a message parameterp6 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterp5 - a message parameterp6 - a message parameterp7 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterp5 - a message parameterp6 - a message parameterp7 - a message parameterp8 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message, java.lang.Object p0, java.lang.Object p1, java.lang.Object p2, java.lang.Object p3, java.lang.Object p4, java.lang.Object p5, java.lang.Object p6, java.lang.Object p7, java.lang.Object p8, java.lang.Object p9)
MessageFactory2newMessage in interface MessageFactory2message - a message template, the kind of message template depends on the implementation.p0 - a message parameterp1 - a message parameterp2 - a message parameterp3 - a message parameterp4 - a message parameterp5 - a message parameterp6 - a message parameterp7 - a message parameterp8 - a message parameterp9 - a message parameterParameterizedMessageFactorypublic Message newMessage(java.lang.String message)
ReusableSimpleMessage instances.newMessage in interface MessageFactorymessage - The message String.MessageFactory.newMessage(String)public Message newMessage(java.lang.Object message)
ReusableObjectMessage instances.newMessage in interface MessageFactorymessage - The message Object.MessageFactory.newMessage(Object)