/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.upgrade.log;
/**
* This class implements the upgrade log entry.
*/
public final class UpgradeLogEntry
{
/**
* Log level.
*/
private final UpgradeLogLevel level;
/**
* Model number.
*/
private final int modelNumber;
/**
* Message.
*/
private final String message;
/**
* Cause.
*/
private final Throwable cause;
/**
* Construct the entry.
*/
public UpgradeLogEntry( UpgradeLogLevel level, int modelNumber, String message, Throwable cause )
{
this.level = level;
this.modelNumber = modelNumber;
this.message = message != null ? escapeCharacters( message ) : "No Message";
this.cause = cause;
}
/**
* Return the level.
*/
public UpgradeLogLevel getLevel()
{
return this.level;
}
/**
* Return the model number.
*/
public int getModelNumber()
{
return this.modelNumber;
}
/**
* Return the message.
*/
public String getMessage()
{
if ( this.modelNumber >= 0 )
{
return "[Model " + this.modelNumber + "] " + this.message;
}
else
{
return this.message;
}
}
/**
* Escape entities.
*/
private String escapeCharacters( String str )
{
str = str.replace( "<", "<" );
str = str.replace( ">", ">" );
return str;
}
/**
* Return the cause.
*/
public Throwable getCause()
{
return this.cause;
}
}