01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.enterprise.messages;
16:
17: import java.io.Serializable;
18: import java.util.Locale;
19:
20: /** Generic Message base interface. This interface
21: * is a base interface which must be implemented by all messages in enterprise.
22: * All Messages are serializable. Each message must have its own globally unique Id.
23: * This id can for example be used by renderer to uniquely identify resources corresponding to a message.
24: * Each message also belongs to particular category. Three different categories are supported:
25: * <UL>
26: * <LI>InformationMessage represents some information returned by the service to
27: * the client. Since this is an information message - the expectation is that operation has
28: * completed successfully and is returning some related information. For example successfull
29: * "add new client" operation might return an information message: <i>"Your PIN number will be
30: * mailed to you within five working days"</i>. Message is an information message by default
31: * this menas that any of the is.....() (e.g. isError(), isWarning() etc) methods returning false</LI>
32: * <LI>WarningMessage represents some warning returned by the operation to
33: * the client. Since this is a warning message - the expectation is that operation has
34: * largely completed successfully, but has encountered some problems on the way, which, while
35: * not impacting successfull completion, may cause some unusual results.
36: * For example successfull "add new client" operation might return a warning message:
37: * <i>"Due to system maintenance your application has been accepted in "off line" mode and will
38: * be processed as soon as system will become available"</i>.
39: * If message is a Warning Message - the isWarning() method will return true.</LI>
40: * <LI>ErrorMessage represents some error returned by the operation to
41: * the client. Since this is an error message - the expectation is that operation has
42: * been unsuccessfull. For example unsuccessfull "add new client" operation might return
43: * an error message: <i>"Account can only be opened for persons 21 years or older."</i>
44: * If message is an Error Message - the isError() method will return true.</LI>
45: * <LI>FailureMessage represents message about some serious failure, which has made it
46: * impossible to run operation. Since this is a failure message - the expectation is that operation has
47: * not even been able to run along its main or alternative flows. Normally this message contains
48: * reasonably technical descrition of the problem. For example unsuccessfull "add new client"
49: * operation might return failure message: <i>"Unable to locate client services middleware."</i>
50: * If message is a Failure Message - the isFailure() method will return true.</LI>
51: * </UL>
52: */
53: public interface Message extends Serializable {
54: /** Returns unique string Id of the message. */
55: public String getId();
56:
57: /** Returns true if this message is a failure message. */
58: public boolean isFailure();
59:
60: /** Returns true if this message is an error message. */
61: public boolean isError();
62:
63: /** Returns true if this message is a warning message. */
64: public boolean isWarning();
65:
66: /** Returns an array of message arguments used to render the message. */
67: public Object[] getMessageArguments();
68:
69: /** Returns human readable message text in default locale. */
70: public String toString();
71:
72: /** Returns human readable message text in specified locale. */
73: public String toLocalizedString(Locale pDesiredLocale);
74: }
|