/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.api.client;
import java.io.PrintWriter;
import java.io.StringWriter;
/**
* This class implements the command client.
*/
public final class ClientException
extends RuntimeException
{
private static final long serialVersionUID = 1300813464472621779L;
public ClientException( String message )
{
super( message );
}
public ClientException( Throwable cause )
{
super( buildMessage( cause ) );
}
private static String buildMessage( Throwable cause )
{
StringWriter stringWriter = new StringWriter();
PrintWriter exceptionWriter = new PrintWriter( stringWriter );
cause.printStackTrace( exceptionWriter );
StringBuffer message = new StringBuffer();
message.append( "Exception message is: '" ).append( cause.getMessage() );
message.append( "', exception class is: " ).append( cause.getClass() );
message.append( System.getProperty( "line.separator" ) );
message.append( "StackTrace: " );
message.append( System.getProperty( "line.separator" ) );
message.append( stringWriter.toString() );
return message.toString();
}
}