public class Message extends Object implements Serializable
In addition a message provides access to the objects and their properties the message relates to. E.g. if a message reads that "insured person's age must be at least 18" than the person's age is invalid. This information can be used for example to mark controls in the UI that display this property.
If the provided message has replacement parameters that cannot be evaluated while creating the
message text, it is possible to provide there parameters to the message object. Have a look at
MsgReplacementParameter
for further information.
If you need any further information stored with the message, it is possible to implement the IMarker object and provide some additional markers to the message. The exact use of the markers depends on the custom implementation.
Message is an immutable value object. Two message objects are considered equal if they have the same severity, code, text, "invalid properties" and replacement parameters.
MsgReplacementParameter
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
Message.Builder
A builder for the
Message class. |
Modifier and Type | Field and Description |
---|---|
static Severity |
ERROR
Severity error.
|
static Severity |
INFO
Severity info.
|
static Severity |
NONE
Severity none.
|
static Severity |
WARNING
Severity warning.
|
Constructor and Description |
---|
Message(Message.Builder builder)
Creates a new message by using the fields of a
Message.Builder . |
Message(Message msg)
Creates a new message by copying everything of the given
Message . |
Message(String text,
Severity severity)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
List<ObjectProperty> invalidObjectProperties)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
List<ObjectProperty> invalidObjectProperties,
List<MsgReplacementParameter> replacementParameters)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
List<ObjectProperty> invalidObjectProperties,
List<MsgReplacementParameter> parameters,
Set<? extends IMarker> markers)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
Object invalidObject)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
ObjectProperty invalidObjectProperty)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
ObjectProperty[] invalidObjectProperties)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
ObjectProperty[] invalidObjectProperties,
MsgReplacementParameter[] parameters)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
ObjectProperty invalidObjectProperty,
List<MsgReplacementParameter> parameters)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
ObjectProperty invalidObjectProperty,
MsgReplacementParameter... parameters)
Creates a new message by defining the following parameters.
|
Message(String code,
String text,
Severity severity,
Object invalidObject,
String... invalidObjectProperties)
Creates a new message by defining the following parameters.
|
Modifier and Type | Method and Description |
---|---|
static Message |
createCopy(Message msg,
Object oldObject,
Object newObject)
Creates a copy from the message and replaces all references to the old object with the new
object.
|
boolean |
equals(Object o)
Returns true if o is a Message and severity, code and text are equal.
|
static Message.Builder |
error(String text)
Creates a new
Message.Builder with ERROR and the given message. |
String |
getCode()
Returns the message code.
|
List<ObjectProperty> |
getInvalidObjectProperties()
Returns the list of object properties the message refers to.
|
Set<? extends IMarker> |
getMarkers()
Returns a set of
IMarker s associated with this class. |
int |
getNumOfInvalidObjectProperties()
Returns the number of referenced invalid object properties.
|
int |
getNumOfReplacementParameters()
Returns the number of replacement parameters..
|
List<MsgReplacementParameter> |
getReplacementParameters()
Returns the list of replacement parameters.
|
Object |
getReplacementValue(String paramName)
Returns the value for the given replacement parameter.
|
Severity |
getSeverity()
Returns the message's severity as one of the constants ERROR, WARNING, INFO or NONE.
|
String |
getText()
Returns the humand readable message text.
|
int |
hashCode() |
boolean |
hasMarker(IMarker marker)
|
boolean |
hasMarkers()
Returns
true if the message has markers otherwise false . |
boolean |
hasReplacementParameter(String paramName)
Returns
true if the message has a replacement parameter with the given name,
otherwise false . |
static Message.Builder |
info(String text)
Creates a new
Message.Builder with INFO and the given message. |
static Message |
newError(String code,
String text)
Constructs a new error message.
|
static Message |
newInfo(String code,
String text)
Constructs a new information message.
|
static Message |
newWarning(String code,
String text)
Constructs a new warning message.
|
String |
toString() |
static Message.Builder |
warning(String text)
Creates a new
Message.Builder with WARNING and the given message. |
public static final Severity NONE
public static final Severity INFO
public static final Severity WARNING
public static final Severity ERROR
public Message(Message.Builder builder)
Message.Builder
.builder
- the Message.Builder
public Message(Message msg)
Message
.msg
- the Message
to copy frompublic Message(String text, Severity severity)
public Message(String code, String text, Severity severity)
public Message(String code, String text, Severity severity, Object invalidObject)
public Message(String code, String text, Severity severity, ObjectProperty invalidObjectProperty)
public Message(String code, String text, Severity severity, Object invalidObject, String... invalidObjectProperties)
code
- A message code that identifies the kind of the messagetext
- The human readable text of this messageseverity
- The message's severity: ERROR
, WARNING
or INFO
:
ERROR
, WARNING
or INFO
invalidObject
- the Object of the ObjectPropertyinvalidObjectProperties
- An array of propertie's names the message refers topublic Message(String code, String text, Severity severity, ObjectProperty[] invalidObjectProperties)
public Message(String code, String text, Severity severity, List<ObjectProperty> invalidObjectProperties)
public Message(String code, String text, Severity severity, List<ObjectProperty> invalidObjectProperties, List<MsgReplacementParameter> replacementParameters)
public Message(String code, String text, Severity severity, ObjectProperty invalidObjectProperty, MsgReplacementParameter... parameters)
code
- A message code that identifies the kind of the messagetext
- The human readable text of this messageseverity
- The message's severity: ERROR
, WARNING
or INFO
invalidObjectProperty
- A list of object properties the message refers toparameters
- an array of replacement parameterspublic Message(String code, String text, Severity severity, ObjectProperty invalidObjectProperty, List<MsgReplacementParameter> parameters)
public Message(String code, String text, Severity severity, ObjectProperty[] invalidObjectProperties, MsgReplacementParameter[] parameters)
code
- A message code that identifies the kind of the messagetext
- The human readable text of this messageseverity
- The message's severity: ERROR
, WARNING
or INFO
invalidObjectProperties
- An array of object properties the message refers toparameters
- an array of replacement parameterspublic Message(String code, String text, Severity severity, List<ObjectProperty> invalidObjectProperties, List<MsgReplacementParameter> parameters, Set<? extends IMarker> markers)
code
- A message code that identifies the kind of the messagetext
- The human readable text of this messageseverity
- The message's severity: ERROR
, WARNING
or INFO
invalidObjectProperties
- A list of object properties the message refers toparameters
- a list of replacement parametersmarkers
- a list of markers. If this parameter is null an empty list is set as markers.
The List of markers ispublic static final Message.Builder error(String text)
Message.Builder
with ERROR
and the given message.
To create a new Message
you can use for example:
Message.error("MessageText").code("1").invalidObjects("object",
"property").create();
text
- The human readable text of this messagepublic static final Message.Builder warning(String text)
Message.Builder
with WARNING
and the given message.
To create a new Message
you can use for example:
Message.warning("MessageText").code("1").invalidObjects("object",
"property").create();
text
- The human readable text of this messagepublic static final Message.Builder info(String text)
Message.Builder
with INFO
and the given message.
To create a new Message
you can use for example:
Message.info("MessageText").code("1").invalidObjects("object",
"property").create();
text
- The human readable text of this messagepublic static final Message createCopy(Message msg, Object oldObject, Object newObject)
public static final Message newInfo(String code, String text)
public static final Message newWarning(String code, String text)
public static final Message newError(String code, String text)
public Severity getSeverity()
public String getText()
public String getCode()
public int getNumOfInvalidObjectProperties()
public List<ObjectProperty> getInvalidObjectProperties()
public int getNumOfReplacementParameters()
public List<MsgReplacementParameter> getReplacementParameters()
public boolean hasReplacementParameter(String paramName)
true
if the message has a replacement parameter with the given name,
otherwise false
. Returns false
if paramName is null
.public Object getReplacementValue(String paramName)
null
if the
message hasn't got a parameter with the indicated name.hasReplacementParameter(String)
public Set<? extends IMarker> getMarkers()
IMarker
s associated with this class. Returns an empty set if no
markers are set.public boolean hasMarker(IMarker marker)
public boolean hasMarkers()
true
if the message has markers otherwise false
.public boolean equals(Object o)
equals
in class Object
Object.equals(java.lang.Object)
Copyright © 2021. All rights reserved.