package com.agilejava.blammo.samples;
import java.util.ResourceBundle;
import java.text.MessageFormat;
import com.agilejava.blammo.LoggingKitAdapter;
import com.agilejava.blammo.BlammoLogger;
import com.agilejava.blammo.MessageProducer;
public class BlammoSample2_EventLoggerImpl
implements com.agilejava.blammo.samples.Sample2.EventLogger, BlammoLogger
{
private ResourceBundle bundle;
private LoggingKitAdapter adapter;
private Interceptor interceptor;
public BlammoSample2_EventLoggerImpl() {
bundle = ResourceBundle.getBundle("com/agilejava/blammo/samples/BlammoSample2_EventLogger");
interceptor = new DefaultInterceptor();
}
public void setLoggingKitAdapter(LoggingKitAdapter adapter) {
this.adapter = adapter;
}
public void setInterceptor(Interceptor interceptor) {
this.interceptor = interceptor;
}
public LoggingKitAdapter getLoggingKitAdapter() {
return adapter;
}
public void logDivisionByZero(final int a) {
if (!interceptor.accepts("BLAM0202", null, "logDivisionByZero")) return;
final MessageProducer __producer = new MessageProducer() {
public String getMessage() {
String __message = bundle.getString("com.agilejava.blammo.samples.BLAM0202");
Object[] args = new Object[] { new Integer(a) };
__message = MessageFormat.format(__message, args);
__message = "BLAM0202: " + __message;
return __message;
}
};
adapter.log("warn", __producer);
}
public void logUnexpectedDivisionException(final int a, final int b, final java.lang.ArithmeticException ae) {
if (!interceptor.accepts("BLAM0203", null, "logUnexpectedDivisionException")) return;
final MessageProducer __producer = new MessageProducer() {
public String getMessage() {
String __message = bundle.getString("com.agilejava.blammo.samples.BLAM0203");
Object[] args = new Object[] { new Integer(a), new Integer(b), ae };
__message = MessageFormat.format(__message, args);
__message = "BLAM0203: " + __message;
return __message;
}
};
adapter.log("error", __producer, ae);
}
}