Skip to content

Commit 05274a6

Browse files
committed
re-organised
1 parent bf6384a commit 05274a6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+195
-27
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package designPattern.chainOfResponsibility;
2+
3+
public abstract class AbstractLogger {
4+
public static int INFO = 1;
5+
public static int DEBUG = 2;
6+
public static int ERROR = 3;
7+
protected int level;
8+
protected AbstractLogger nextLogger;
9+
10+
public void setNextLogger(AbstractLogger nextLogger){
11+
this.nextLogger = nextLogger;
12+
}
13+
14+
public void logMessage(int level, String message){
15+
if(this.level <= level)
16+
write(message);
17+
if(nextLogger != null)
18+
nextLogger.logMessage(level, message);
19+
}
20+
21+
abstract protected void write(String message);
22+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package designPattern.chainOfResponsibility;
2+
3+
public class ChainDemo {
4+
5+
public static void main(String[] args) {
6+
AbstractLogger chain = getChainOfLogs();
7+
chain.logMessage(AbstractLogger.INFO, "Info message");
8+
chain.logMessage(AbstractLogger.DEBUG, "debug message");
9+
chain.logMessage(AbstractLogger.ERROR, "error message");
10+
11+
}
12+
13+
private static AbstractLogger getChainOfLogs(){
14+
AbstractLogger error = new ErrorLogger(AbstractLogger.ERROR);
15+
AbstractLogger console = new ConsoleLogger(AbstractLogger.DEBUG);
16+
AbstractLogger file = new FileLogger(AbstractLogger.INFO);
17+
18+
error.setNextLogger(file);
19+
file.setNextLogger(console);
20+
21+
return error;
22+
}
23+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package designPattern.chainOfResponsibility;
2+
3+
public class ConsoleLogger extends AbstractLogger {
4+
5+
public ConsoleLogger(int level) {
6+
this.level = level;
7+
}
8+
9+
@Override
10+
protected void write(String message) {
11+
System.out.println("inside console logger");
12+
System.out.println("Console:: Logger: "+message);
13+
}
14+
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package designPattern.chainOfResponsibility;
2+
3+
public class ErrorLogger extends AbstractLogger {
4+
5+
public ErrorLogger(int level) {
6+
this.level = level;
7+
}
8+
9+
@Override
10+
protected void write(String message) {
11+
System.out.println("inside error logger");
12+
System.out.println("Error::Logger: "+message);
13+
}
14+
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package designPattern.chainOfResponsibility;
2+
3+
public class FileLogger extends AbstractLogger {
4+
5+
public FileLogger(int level) {
6+
this.level= level;
7+
}
8+
@Override
9+
protected void write(String message) {
10+
System.out.println("inside file logger");
11+
System.out.println("File::Logger: "+message);
12+
}
13+
14+
}

0 commit comments

Comments
 (0)