1 package net.logAnalyzer.handlers; 2 3 import java.io.FileNotFoundException; 4 import java.io.IOException; 5 6 import net.logAnalyzer.utils.FilesSetReader; 7 8 /*** 9 * This log handler does not save messages. It is useful for analyzers but can 10 * not be used for GUI because it only can to go forward and does not support 11 * backward or random access to the log file. 12 * <p> 13 * For random access, for example for a GUI, use 14 * {@link net.logAnalyzer.handlers.MemoryLogHandler} for small log files and 15 * {@link net.logAnalyzer.handlers.OnDemandLogHandler} for large files. 16 * 17 * @author Karim REFEYTON 18 * @version 0.1 19 */ 20 public class ForwardOnlyLogHandler extends AbstractLogHandler { 21 /*** 22 * Parsed log messages. 23 */ 24 private LAMessage currentMessage = null; 25 26 /*** 27 * Number of messages. 28 */ 29 private int numberOfMessages = 0; 30 31 /*** 32 * @param input 33 * @param pattern 34 * @throws FileNotFoundException 35 * @throws NoConverterException 36 */ 37 public ForwardOnlyLogHandler(FilesSetReader input, String pattern) 38 throws FileNotFoundException, NoConverterException { 39 super(input, pattern); 40 } 41 42 /*** 43 * Returns the number of messages read. 44 * 45 * @see net.logAnalyzer.handlers.LALogHandler#getSize() 46 */ 47 public int getSize() { 48 return numberOfMessages; 49 } 50 51 /*** 52 * Modification to the inherited behavior. 53 * 54 * @see AbstractLogHandler#loadMessage(int) 55 */ 56 protected LAMessage loadMessage(int index) { 57 return currentMessage; 58 } 59 60 /*** 61 * Modification to the inherited behavior. 62 * 63 * @see AbstractLogHandler#saveMessage(LAMessage, long) 64 */ 65 protected void saveMessage(LAMessage message, long pointer) { 66 numberOfMessages++; 67 } 68 69 /*** 70 * Modification to the inherited behavior. 71 * 72 * @see AbstractLogHandler#initParsing() 73 */ 74 protected void initParsing() throws IOException { 75 super.initParsing(); 76 currentMessage = null; 77 numberOfMessages = 0; 78 } 79 }