Clover Coverage Report
Coverage timestamp: Sun Mar 23 2008 08:24:39 GMT
10   126   7   2
4   35   1.1   5
5     2.2  
1    
 
 
  SAWSTextOutputCallback       Line # 57 10 7 78.9% 0.7894737
 
No Tests
 
1    /*
2    * Copyright (c) 2006, University of Kent
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions are met:
7    *
8    * Redistributions of source code must retain the above copyright notice, this
9    * list of conditions and the following disclaimer.
10    *
11    * Redistributions in binary form must reproduce the above copyright notice,
12    * this list of conditions and the following disclaimer in the documentation
13    * and/or other materials provided with the distribution.
14    *
15    * 1. Neither the name of the University of Kent nor the names of its
16    * contributors may be used to endorse or promote products derived from this
17    * software without specific prior written permission.
18    *
19    * 2. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20    * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21    * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22    * PURPOSE ARE DISCLAIMED.
23    *
24    * 3. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25    * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26    * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27    * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28    * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29    * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30    * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31    * POSSIBILITY OF SUCH DAMAGE.
32    *
33    * 4. YOU AGREE THAT THE EXCLUSIONS IN PARAGRAPHS 2 AND 3 ABOVE ARE REASONABLE
34    * IN THE CIRCUMSTANCES. IN PARTICULAR, YOU ACKNOWLEDGE (1) THAT THIS
35    * SOFTWARE HAS BEEN MADE AVAILABLE TO YOU FREE OF CHARGE, (2) THAT THIS
36    * SOFTWARE IS NOT "PRODUCT" QUALITY, BUT HAS BEEN PRODUCED BY A RESEARCH
37    * GROUP WHO DESIRE TO MAKE THIS SOFTWARE FREELY AVAILABLE TO PEOPLE WHO WISH
38    * TO USE IT, AND (3) THAT BECAUSE THIS SOFTWARE IS NOT OF "PRODUCT" QUALITY
39    * IT IS INEVITABLE THAT THERE WILL BE BUGS AND ERRORS, AND POSSIBLY MORE
40    * SERIOUS FAULTS, IN THIS SOFTWARE.
41    *
42    * 5. This license is governed, except to the extent that local laws
43    * necessarily apply, by the laws of England and Wales.
44    */
45   
46    package issrg.SAWS.callback;
47   
48    import javax.security.auth.callback.Callback;
49   
50    /**
51    * This class represents a Callback for displaying data to the user.
52    *
53    * @author E. Silva
54    * @version 1.0, Feb. 2007
55    */
56   
 
57    public class SAWSTextOutputCallback implements Callback, java.io.Serializable {
58   
59    private int messageType;
60    private String message;
61   
62    /**Represents information messages.*/
63    public static final int INFORMATION = 0;
64    /**Represents warning messages.*/
65    public static final int WARNING = 1;
66    /**Represents error messages.*/
67    public static final int ERROR = 2;
68    /**Represents long messages.*/
69    public static final int LONG_MESSAGE = 3;
70   
71   
72    /**
73    * Constructor of the class.
74    *
75    * @param messageType Type of the message.
76    * @param message Message to be dusplayed.
77    */
78   
79   
 
80  6 toggle public SAWSTextOutputCallback(int messageType, String message) {
81  6 this.setMessageType(messageType);
82  6 this.setMessage(message);
83    }
84    /**
85    * Method that sets the type of the message to be displayed.
86    * @param messageType The type of the message (INFORMATION, WARNING, ERROR or LONG_MESSAGE).
87    * @throws IllegalArgumentException If the message type is not INFORMATION, WARNING, ERROR or LONG_MESSAGE.
88    */
 
89  6 toggle private void setMessageType(int messageType) {
90  6 if ((messageType == LONG_MESSAGE) || (messageType == ERROR)
91    || (messageType == WARNING) || (messageType == INFORMATION)) {
92  6 this.messageType = messageType;
93    } else {
94  0 throw new IllegalArgumentException("Inavlid message type on SAWSTextOutputCallback.");
95    }
96    }
97   
98    /**
99    * Method to set the message to be displayed.
100    * @param message The message to be displayed.
101    * @throws IllegalArgumentException If the message is null or empty.
102    */
 
103  6 toggle private void setMessage(String message) {
104  6 if (message != null && message.length() > 0) {
105  6 this.message = message;
106    } else {
107  0 throw new IllegalArgumentException("Inavlid message on SAWSTextOutputCallback.");
108    }
109    }
110   
111    /**
112    * Method that returns the message type (INFORMATION, WARNING, ERROR or LONG_MESSAGE).
113    * @return The message type.
114    */
 
115  6 toggle public int getMessageType() {
116  6 return this.messageType;
117    }
118   
119    /**
120    * Method that returns the message to be displayed.
121    * @return The message to be displayed.
122    */
 
123  6 toggle public String getMessage() {
124  6 return this.message;
125    }
126    }