Log.java 877 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package at.acdp.urweb.sclient;
  2. import at.acdp.urweb.sclient.data.ILogentry;
  3. import java.util.ArrayList;
  4. import java.util.Arrays;
  5. public class Log {
  6. private final static int LENGTH=100;
  7. private static ILogentry[] list=new ILogentry[LENGTH];
  8. private static int pos=0;
  9. public static void add(ILogentry le) {
  10. synchronized (list) {
  11. list[pos++%LENGTH]=le;
  12. }
  13. }
  14. public static void get(int from) {
  15. synchronized (list){
  16. int length=LENGTH-from+pos;
  17. ILogentry[] ret=new ILogentry[length];
  18. int upperPos=from+length;
  19. if(upperPos>LENGTH){
  20. int lowerLength=upperPos-LENGTH;
  21. upperPos=LENGTH;
  22. System.arraycopy(list,0,ret,0,lowerLength);
  23. }
  24. System.arraycopy(list,from,ret,0,upperPos-from);
  25. }
  26. }
  27. }