note description: "[ Objects which record their creation time. ]" date: "1 Sep 04" date: "1 Jan 99" author: "Jimmy J. Johnson" copyright: "Copyright 2009, Jimmy J. Johnson" license: "Eiffel Forum License v2 (see forum.txt)" URL: "$URL:$" date: "$Date: 2009-06-25 21:37:23 -0400 (Thu, 25 Jun 2009) $" revision: "$Revision: 7 $" class TIME_STAMPABLE inherit ANY redefine default_create end create default_create feature {NONE} -- Initialization default_create -- Initialize `Current'. do create timestamp.set_now_utc_fine end feature -- Access id: STRING -- Unique (hopefully) object id based on the creation time of the object. -- Concatination of Current's `generating_type' and `time_stamp'. do Result := generating_type.name.to_string_8 + " " + timestamp.as_string end timestamp: YMDHMS_TIME -- Time this object was created --feature -- Comparison -- infix "<" (a_other: like Current): BOOLEAN is -- -- Is Current less than `a_other'? -- do -- Result := id < a_other.id ---- Result := timestamp < a_other.timestamp -- end invariant time_stamp_exists: timestamp /= Void end