WepsMessage.java [tools/WepsSoilsIfcCreator/src/usda/weru/util] Revision: Date:
/*
* WepsMessage.java
*
* Created on January 11, 2006, 1:24 PM
*
* Designed to store messages to be given to the user or written to a log.
*/
package usda.weru.util;
import java.util.*;
/**
*
* @author Joseph Levin
*/
public class WepsMessage extends Exception{
public enum MessageSeverity implements Comparator{
INFORMATION (1),
WARNING(2),
ERROR(3);
public int compare(Object a, Object b){
if (a instanceof MessageSeverity && b instanceof MessageSeverity){
if (((MessageSeverity) a).getNumericSeverity() == ((MessageSeverity) b).getNumericSeverity()){
return 0;
}
else if (((MessageSeverity) a).getNumericSeverity() < ((MessageSeverity) b).getNumericSeverity()){
return 1;
}
else if (((MessageSeverity) a).getNumericSeverity() > ((MessageSeverity) b).getNumericSeverity()){
return -1;
}
}
return 0;
}
private int c_numericSeverity;
MessageSeverity(int numericSeverity){
c_numericSeverity = numericSeverity;
}
public int getNumericSeverity(){
return c_numericSeverity;
}
public boolean isMoreSevereThan(MessageSeverity severity){
return (c_numericSeverity > severity.getNumericSeverity());
}
public boolean isLessSevereThan(MessageSeverity severity){
return (c_numericSeverity < severity.getNumericSeverity());
}
public boolean isAsSevere(MessageSeverity severity){
return (c_numericSeverity == severity.getNumericSeverity());
}
}
private MessageSeverity c_severity = MessageSeverity.INFORMATION;
private String c_message = "";
private Date c_timestamp;
private int _unnamed_;
/**
* Creates a new instance of WepsMessage
*/
public WepsMessage(MessageSeverity severity, String message) {
c_severity = severity;
c_message = message;
c_timestamp = new Date();
}
public WepsMessage (MessageSeverity severity, Exception e){
c_severity = severity;
c_message = e.getMessage();
c_timestamp = new Date();
}
public WepsMessage (Exception e){
this(WepsMessage.MessageSeverity.ERROR, e);
}
public String getMessage(){
return c_message;
}
public MessageSeverity getSeverity(){
return c_severity;
}
public String toString(){
return c_severity.toString() + ": " + c_message;
}
public static WepsMessage informationMessage(String message){
return new WepsMessage(MessageSeverity.INFORMATION, message);
}
public static WepsMessage warningMessage(String message){
return new WepsMessage(MessageSeverity.WARNING, message);
}
public static WepsMessage errorMessage(String message){
return new WepsMessage(MessageSeverity.ERROR, message);
}
}