1/*- 2 * See the file LICENSE for redistribution information. 3 * 4 * Copyright (c) 2008-2009 Oracle. All rights reserved. 5 * 6 * $Id$ 7 */ 8 9package com.sleepycat.util; 10 11public class ErrorBuffer { 12 String[] msgs; 13 int first, current; 14 15 public ErrorBuffer(int num_msg) { 16 msgs = new String[num_msg]; 17 clear(); 18 } 19 20 public void append(String msg) { 21 msgs[current] = msg; 22 current = (current + 1) % msgs.length; 23 if (current == first) 24 first = (first + 1) % msgs.length; 25 } 26 27 public String get() { 28 StringBuffer buf = new StringBuffer(); 29 for (int i = first; i != current; i = (i + 1) % msgs.length) { 30 buf.append(msgs[i]); 31 if ((i + 1) % msgs.length != current) 32 buf.append("\n"); 33 } 34 return buf.toString(); 35 } 36 37 public void clear() { 38 current = first = 0; 39 } 40} 41 42