package de.fitsample.timerecording;

/**
 * A repository for storing TimeRecording instances.
 * 
 * @author Ralf Stuckert
 */
public class TimeRecordingRepository {

    private static TimeRecordingRepository singleton;

    private TimeRecording timeRecording;

    /**
     * Private constructor since this is a singleton. Access it by
     * {@link #getInstance() getInstance()}.
     */
    private TimeRecordingRepository() {
        // nothing to do
    }

    /**
     * @return the singleton instance of the TimeRecordingRepository.
     */
    public static TimeRecordingRepository getInstance() {
        if (singleton == null) {
            singleton = new TimeRecordingRepository();
        }
        return singleton;
    }

    /**
     * Stores a TimeRecording.
     * 
     * @param timeRecording the TimeRecording to store.
     */
    public void store(TimeRecording timeRecording) {
        this.timeRecording = timeRecording;
    }

    /**
     * @return the stored TimeRecording.
     */
    public TimeRecording retrieve() {
        return timeRecording;
    }
}
