org.jasig.cas.event.AbstractEvent.java Source code

Java tutorial

Introduction

Here is the source code for org.jasig.cas.event.AbstractEvent.java

Source

/*
 * Copyright 2007 The JA-SIG Collaborative. All rights reserved. See license
 * distributed with this file and available online at
 * http://www.ja-sig.org/products/cas/overview/license/
 */
package org.jasig.cas.event;

import java.util.Date;

import org.springframework.context.ApplicationEvent;

/**
 * Abstract implementation of the Event interface that defines the method
 * getPublishedDate so that implementing classes do not need to.
 * 
 * @author Scott Battaglia
 * @version $Revision: 42053 $ $Date: 2007-06-10 09:17:55 -0400 (Sun, 10 Jun 2007) $
 * @since 3.0
 */
public abstract class AbstractEvent extends ApplicationEvent {

    /** The date the event was published. */
    private final long publishedDate;

    /**
     * Constructor that passes the source object to the super class.
     * 
     * @param o the source object.
     */
    public AbstractEvent(final Object o) {
        super(o);
        this.publishedDate = System.currentTimeMillis();
    }

    /**
     * Method to retrieve the date this event was published. The Date returned
     * by this method is a copy - changing it will not change the Date instances
     * returned by subsequent calls to this method.
     * 
     * @return the Date this event was published.
     */
    public final Date getPublishedDate() {
        return new Date(this.publishedDate);
    }
}