Professional Documents
Culture Documents
Chain Design Pattern
Chain Design Pattern
java
public abstract class AbstractLogger {
this.nextLogger = nextLogger;
write(message);
if(nextLogger !=null){
nextLogger.logMessage(level, message);
ConsoleLogger.java
public class ConsoleLogger extends AbstractLogger {
this.level = level;
@Override
}
ErrorLogger.java
public class ErrorLogger extends AbstractLogger {
this.level = level;
@Override
FileLogger.java
public class FileLogger extends AbstractLogger {
this.level = level;
@Override
ChainPatternDemo.java
public class ChainPatternDemo {
ErrorLogger(AbstractLogger.ERROR);
FileLogger(AbstractLogger.DEBUG);
ConsoleLogger(AbstractLogger.INFO);
errorLogger.setNextLogger(fileLogger);
fileLogger.setNextLogger(consoleLogger);
return errorLogger;
}
loggerChain.logMessage(AbstractLogger.INFO,
"This is an information.");
loggerChain.logMessage(AbstractLogger.DEBUG,
loggerChain.logMessage(AbstractLogger.ERROR,