001package com.ganteater.ae.desktop.view; 002 003import java.util.ArrayList; 004import java.util.List; 005 006import com.ganteater.ae.desktop.view.ListLogPresenter.LogRecord; 007 008public class LogList { 009 010 private int logLevel; 011 012 private List<LogRecord> debuglogs = new ArrayList<LogRecord>(); 013 private List<LogRecord> infologs = new ArrayList<LogRecord>(); 014 private List<LogRecord> warnlogs = new ArrayList<LogRecord>(); 015 private List<LogRecord> errorlogs = new ArrayList<LogRecord>(); 016 017 public LogList(int level) { 018 logLevel = level; 019 } 020 021 public int getSize() { 022 switch (logLevel) { 023 case 3: 024 return debuglogs.size(); 025 case 2: 026 return infologs.size(); 027 case 1: 028 return warnlogs.size(); 029 case 0: 030 return errorlogs.size(); 031 032 default: 033 return debuglogs.size(); 034 } 035 } 036 037 public LogRecord get(int index) { 038 switch (logLevel) { 039 case 3: 040 return debuglogs.get(index); 041 case 2: 042 return infologs.get(index); 043 case 1: 044 return warnlogs.get(index); 045 case 0: 046 return errorlogs.get(index); 047 048 default: 049 return debuglogs.get(index); 050 } 051 } 052 053 public void clear() { 054 debuglogs.clear(); 055 infologs.clear(); 056 warnlogs.clear(); 057 errorlogs.clear(); 058 } 059 060 public void add(LogRecord logRecord, boolean b) { 061 062 int logLevel2 = logRecord.getLogLevel(); 063 switch (logLevel2) { 064 case 0: 065 if (b && errorlogs.size() > 50) { 066 while (errorlogs.size() > 50) { 067 errorlogs.remove(0); 068 } 069 } 070 errorlogs.add(logRecord); 071 072 case 1: 073 if (b && warnlogs.size() > 50) { 074 while (warnlogs.size() > 50) { 075 warnlogs.remove(0); 076 } 077 } 078 warnlogs.add(logRecord); 079 080 case 2: 081 if (b && infologs.size() > 50) { 082 while (infologs.size() > 50) { 083 infologs.remove(0); 084 } 085 } 086 infologs.add(logRecord); 087 088 default: 089 if (b && debuglogs.size() > 50) { 090 while (debuglogs.size() > 50) { 091 debuglogs.remove(0); 092 } 093 } 094 debuglogs.add(logRecord); 095 } 096 } 097 098 public void setLevel(int logLevel) { 099 this.logLevel = logLevel; 100 } 101 102}