/*
* @(#)TransitionEvent.java 1.5 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media;
/**
* <code>TransitionEvent</code> is a <code>ControllerEvent</code> that indicates
* that a <code>Controller</code> has changed state.
*
* @see Controller
* @see ControllerListener
* @version 1.5, 02/08/21
*/
public class TransitionEvent extends ControllerEvent {
int previousState;
int currentState;
int targetState;
/**
* Construct a new <CODE>TransitionEvent</CODE>.
*
* @param from The <code>Controller</code> that is generating this event.
* @param previous The state that the <code>Controller</code> was in before this event.
* @param current The state that the <code>Controller</code> is in as a result of this event.
* @param target The state that the <code>Controller</code> is heading to.
*/
public TransitionEvent(Controller from,
int previous, int current, int target) {
super(from);
previousState = previous;
currentState = current;
targetState = target;
}
/**
* Get the state that the <code>Controller</code> was in before this event occurred.
*
* @return The <code>Controller's</code> previous state.
*/
public int getPreviousState() {
return previousState;
}
/**
* Get the <code>Controller's</code> state at the time this event was
* generated
*
* @return The <code>Controller's</code> current state.
*/
public int getCurrentState() {
return currentState;
}
/**
* Get the <code>Controller's</code> target state at the time this event
* was generated.
*
* @return The <code>Controller's</code> target state.
*/
public int getTargetState() {
return targetState;
}
/**
* Returns the String representation of this event's values.
*/
public String toString() {
return getClass().getName() + "[source=" + eventSrc +
",previous=" + stateName(previousState) +
",current=" + stateName(currentState) +
",target=" + stateName(targetState) + "]";
}
static String stateName(int state) {
switch (state) {
case Controller.Unrealized: return "Unrealized";
case Controller.Realizing: return "Realizing";
case Controller.Realized: return "Realized";
case Controller.Prefetching: return "Prefetching";
case Controller.Prefetched: return "Prefetched";
case Controller.Started: return "Started";
case Processor.Configuring: return "Configuring";
case Processor.Configured: return "Configured";
default: return "<Unknown>";
}
}
}
|