summaryrefslogtreecommitdiffstats
path: root/api/src/main/java/org/openslx/taskmanager/api/BoundedLog.java
blob: 86b83433627be0301797f6d9272e3be21017cbe2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package org.openslx.taskmanager.api;

import java.util.concurrent.LinkedBlockingQueue;

public class BoundedLog extends LinkedBlockingQueue<String>
{
	private static final long serialVersionUID = -5425030291381563963L;

	public final boolean implicitNewlines;

	public BoundedLog( int capacity, boolean implicitNewlines )
	{
		super( capacity );
		this.implicitNewlines = implicitNewlines;
	}

	public void addLog( String data )
	{
		while ( !this.offer( data ) ) {
			// Throw away oldest entry and try again
			this.poll();
		}
	}

}