Class CustomizableTime

java.lang.Object
net.okapia.osid.primordium.calendaring.time.CustomizableTime
All Implemented Interfaces:
Serializable, Comparable<Time>, OsidPrimitive, Time, Time, OsidPrimitive

public class CustomizableTime extends Object implements Time
A Time that wraps another time and forwards every method to it, so it carries exactly the wrapped value and the same identity: it is equal to the time it wraps and to any other time of the same value. The single seam is toString(); every other method is final, so a subclass cannot reach anything the contract depends on. Customize the string form by passing a CustomizableTime.Codec to time(org.osid.calendaring.Time, Codec), or by subclassing and overriding toString().

See CustomizableDistance for the full design rationale (value-based identity, the toString() seam, and the bundling pattern). Intentionally not final.

See Also: