package com.arondor.common.management.statistics; /** * Statistics start point * @author Francois Barre * */ public class StatPoint { private final Class<?> clazz; private String name; public void setName(String name) { this.name = name; } private long startPoint; private long number = 1; public StatPoint(Class<?> clazz, String name) { this.clazz = clazz; this.name = name; this.setStartPoint(System.currentTimeMillis()); } public StatPoint(Object o, String name) { this.clazz = o.getClass(); this.name = name; this.setStartPoint(System.currentTimeMillis()); } public void setStartPoint(long startPoint) { this.startPoint = startPoint; } public long getStartPoint() { return startPoint; } public long getDuration() { return (System.currentTimeMillis() - getStartPoint()); } public Class<?> getClazz() { return clazz; } public String getName() { return name; } public String getFullName() { return clazz.getName() + "@" + getName(); } public String toString() { return getFullName() + " : " + Statistics.prettyPrint(getDuration()); } public void setNumber(long number) { this.number = number; } public long getNumber() { return number; } public void update() { Statistics.getInstance().updateStat(this); } public void update(String name) { Statistics.getInstance().updateStat(this, name); } }