package stacktrace1;

/**
 * Klasse Person
 * @author Ralf Kunze (rkunze@uos.de), Institut fuer Informatik, Universitaet
 *         Osnabrueck
 * @date 20.04.2007
 */
public class Person {
	private String name;

	/**
	 * Custom Constructor mit Angabe des Namens der Person.
	 * @param name Name der Person.
	 */
	public Person(String name) {
		this.name = name;
	}

	/**
	 * Liefert den Namen einer Person zurueck.
	 * @return Name der Person.
	 */
	public String getName() {
		return name;
	}

	/**
	 * Liefert einen String mit der Aufrufhistorie zurueck.
	 * @return StackTrace.
	 */
	public String getStackTrace() {
		// Die StackTraceElemente von einem Throwable Objekt beschaffen
		StackTraceElement[] st = new Throwable().getStackTrace();
		String result = "";
		
		// In der foreach Schleife einen String zusammenbauen
		for (StackTraceElement s: st)  {
			result += s + "\n";
		}
		
		// Den String zurueckliefern
		return result;
	}
}
