Package net.sf.eBus.messages
Class EReplyMessage
- java.lang.Object
-
- net.sf.eBus.messages.EMessageObject
-
- net.sf.eBus.messages.EMessage
-
- net.sf.eBus.messages.EReplyMessage
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
ApplicationInfoReply,HistoricReply,MonitoredObjectReply,TimerReply
public class EReplyMessage extends EMessage implements java.io.Serializable
Required base class for all application request messages. Adds the message fields reply status, reply reason, and final reply flag.This message is not abstract because it is a complete message in its own right and may be used to send a generic reply to any request.
Note: messages are limited to 31 fields. This is due to eBus binary serialization format. This number is decreased to 27 fields for sub-classes because
EMessagehas two fields:subjectandtimestampandEReplyMessagehas two fields:replyStatusandreplyReason.- Author:
- Charles Rapp
- See Also:
ENotificationMessage,ERequestMessage, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEReplyMessage.Builder<M extends EReplyMessage,B extends EReplyMessage.Builder<M,? extends EReplyMessage.Builder>>Base class for allEReplyMessagebuilders.static classEReplyMessage.ConcreteBuilderSinceEReplyMessageis not abstract and may be instantiated as a concrete message, this builder is used to create anEReplyMessageinstance.static classEReplyMessage.ReplyStatusAn eBus reply is limited to eitherOK(success),OK_CONTINUING(in-progress reply with more to come),CANCELED(terminated before completion),CANCEL_REJECT(cancel request rejected), andERROR(failure to process request and request is terminated).-
Nested classes/interfaces inherited from class net.sf.eBus.messages.EMessage
EMessage.MessageType
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringreplyReasonThe reason for aEReplyMessage.ReplyStatus.ERRORreply status.EReplyMessage.ReplyStatusreplyStatusThe current request handling status.-
Fields inherited from class net.sf.eBus.messages.EMessage
MAX_SUBJECT_LENGTH, subject, timestamp
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedEReplyMessage(EReplyMessage.Builder<?,?> builder)Creates a new eBus reply message based on the given reply message builder.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EReplyMessage.Builder<?,?>builder()Returns theEReplyMessagebuilder.booleanequals(java.lang.Object o)Returnstrueifois a non-null EReplyMessageinstance with a reply status and reply reason equal tothis EReplyMessageinstance andfalseotherwise.inthashCode()Returns the reply message hash code based onsuper.hashCode, reply status, and reply reason.booleanisFinal()Returnstrueif this is the final reply andfalseif another reply is to be expected.java.lang.StringtoString()Returnssuper.toString(), reply status, and reply reason, as a string.-
Methods inherited from class net.sf.eBus.messages.EMessage
isApplicationMessage, isSystemMessage, key, messageType, timestampAsInstant
-
-
-
-
Field Detail
-
replyStatus
@FieldDisplayIndex(index=0) public final EReplyMessage.ReplyStatus replyStatus
The current request handling status. IfEReplyMessage.ReplyStatus.ERROR, thenreplyReasonwill contain text explaining why the request was rejected.This field is displayed first.
-
replyReason
@FieldDisplayIndex(index=1) @Nullable public final java.lang.String replyReason
The reason for aEReplyMessage.ReplyStatus.ERRORreply status. May benullor empty.This field is displayed second.
-
-
Constructor Detail
-
EReplyMessage
protected EReplyMessage(EReplyMessage.Builder<?,?> builder)
Creates a new eBus reply message based on the given reply message builder.builderis guaranteed to contain a valid message configuration at this point.- Parameters:
builder- contains the reply message configuration.
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
Returnstrueifois a non-null EReplyMessageinstance with a reply status and reply reason equal tothis EReplyMessageinstance andfalseotherwise.
-
hashCode
public int hashCode()
Returns the reply message hash code based onsuper.hashCode, reply status, and reply reason.
-
toString
public java.lang.String toString()
Returnssuper.toString(), reply status, and reply reason, as a string.
-
isFinal
public boolean isFinal()
Returnstrueif this is the final reply andfalseif another reply is to be expected.- Returns:
trueif this is the final reply.
-
builder
public static EReplyMessage.Builder<?,?> builder()
Returns theEReplyMessagebuilder.- Returns:
EReplyMessage.Builderinstance.
-
-