package org.gridkit.jvmtool.stacktrace;
import java.lang.Thread.State;
public class ThreadRecord implements ThreadSnapshot {
private long threadId = -1;
private String threadName;
private long timestamp = -1;
private StackFrameList stackTrace;
private State threadState;
public ThreadRecord() {
}
public ThreadRecord(StackFrameList trace) {
stackTrace = trace;
}
public ThreadRecord(StackFrameList trace, State state) {
stackTrace = trace;
threadState = state;
}
public void reset() {
threadId = -1;
threadName = null;
timestamp = -1;
stackTrace = null;
threadState = null;
}
public void load(StackTraceReader reader) {
reset();
threadId = reader.getThreadId();
threadName = reader.getThreadName();
stackTrace = reader.getStackTrace();
threadState = reader.getThreadState();
}
@Override
public long threadId() {
return threadId;
}
@Override
public String threadName() {
return threadName;
}
@Override
public long timestamp() {
return timestamp;
}
@Override
public StackFrameList stackTrace() {
return stackTrace;
}
@Override
public State threadState() {
return threadState;
}
@Override
public CounterCollection counters() {
return CounterArray.EMPTY;
}
}