blob: a53d9850058f3e1c2a7dc87b0315a8b3134e24c2 [file] [log] [blame]
package org.apache.commons.jcs3.engine.control.event;
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.util.EventObject;
import org.apache.commons.jcs3.engine.control.event.behavior.ElementEventType;
import org.apache.commons.jcs3.engine.control.event.behavior.IElementEvent;
/**
* Element events will trigger the creation of Element Event objects. This is a wrapper around the
* cache element that indicates the event triggered.
*/
public class ElementEvent<T>
extends EventObject
implements IElementEvent<T>
{
/** Don't change */
private static final long serialVersionUID = -5364117411457467056L;
/** default event code */
private ElementEventType elementEvent = ElementEventType.EXCEEDED_MAXLIFE_BACKGROUND;
/**
* Constructor for the ElementEvent object
* <p>
* @param source The Cache Element
* @param elementEvent The event id defined in the enum class.
*/
public ElementEvent( T source, ElementEventType elementEvent )
{
super( source );
this.elementEvent = elementEvent;
}
/**
* Gets the elementEvent attribute of the ElementEvent object
* <p>
* @return The elementEvent value. The List of values is defined in ElementEventType.
*/
@Override
public ElementEventType getElementEvent()
{
return elementEvent;
}
/**
* @return the source of the event.
*/
@SuppressWarnings("unchecked") // Generified
@Override
public T getSource()
{
return (T) super.getSource();
}
}