1 14 package org.compiere.util; 15 16 import java.util.ArrayList ; 17 18 24 public class Trace 25 { 26 33 public static String [] getCallerClasses (Throwable caller, int maxNestLevel) 34 { 35 int nestLevel = maxNestLevel; 36 if (nestLevel < 1) 37 nestLevel = 99; 38 ArrayList list = new ArrayList (); 40 Throwable t = caller; 41 if (t == null) 42 t = new Throwable (); 43 44 StackTraceElement [] elements = t.getStackTrace(); 45 for (int i = 0; i < elements.length && list.size() <= maxNestLevel; i++) 46 { 47 String className = elements[i].getClassName(); 48 if (!(className.startsWith("org.compiere.util.Trace") 50 || className.startsWith("java.lang.Throwable"))) 51 list.add(className); 52 } 53 54 String [] retValue = new String [list.size()]; 55 list.toArray(retValue); 56 return retValue; 57 } 59 64 public static String getCallerClass (int nestLevel) 65 { 66 String [] array = getCallerClasses (null, nestLevel); 67 if (array.length < nestLevel) 68 return ""; 69 return array[nestLevel]; 70 } 72 75 public static void printStack() 76 { 77 Throwable t = new Throwable (); 78 t.printStackTrace(); 79 } } | Popular Tags |