123456789101112131415161718192021222324252627282930313233343536 |
- package at.acdp.urweb.sclient;
- import at.acdp.urweb.sclient.data.IJsonObject;
- import at.acdp.urweb.sclient.data.LogHolder;
- public class URLog {
- private final static int LENGTH=100;
- private static LogHolder[] list=new LogHolder[LENGTH];
- private static int pos=0;
- public static void add(IJsonObject jo) {
- synchronized (list) {
- list[pos++%LENGTH]=new LogHolder(jo);;
- }
- }
- public static LogEntries get(int from) {
- from%=LENGTH;
- int to=pos%LENGTH;
- synchronized (list){
- int length=to-from;
- if(from > to) {
- var ret=new LogHolder[LENGTH-from+to];
- System.arraycopy(list, from, ret,0,LENGTH-from);
- System.arraycopy(list, 0, ret,LENGTH-from,to);
- return new LogEntries(ret, pos);
- }
- else {
- var ret=new LogHolder[length];
- System.arraycopy(list, from, ret,0,length);
- return new LogEntries(ret, pos);
- }
- }
- }
- }
|