public class Artifact { public static java.util.Date startup; // time of class creation private static java.util.Date oldest; // time of first instantiation private static java.util.Date youngest; // time of most recent instantiation private static int count = 0; // total number of instantiations private float size; static { startup = new java.util.Date(); } public static String getInstanceCount() { return Integer.toString(count); } public Artifact(float size) { if (oldest == null) { oldest = new java.util.Date(); } youngest = new java.util.Date(); count++; this.size = size; } public String toString() { String value = "This instance, size = " + size + "\n"; value += " Class creation: " + Artifact.startup.toString() + "\n"; value += " First instantation: " + Artifact.oldest.toString() + "\n"; value += " Last instantiation: " + Artifact.youngest.toString() + "\n"; value += " Number of instantiations: " + Artifact.count; return value; } }