/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: AnswerException.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.continuations.exceptions;
import com.uwyn.rife.continuations.ContinuationContext;
import com.uwyn.rife.tools.exceptions.ControlFlowRuntimeException;
import com.uwyn.rife.tools.exceptions.LightweightError;
/**
* This exception will be thrown when an answer continuation is triggered.
*
* @author Geert Bevin (gbevin[remove] at uwyn dot com)
* @version $Revision: 3918 $
* @since 1.6
*/
public class AnswerException extends LightweightError implements ControlFlowRuntimeException
{
private static final long serialVersionUID = 4501524247064256632L;
private ContinuationContext mContext = null;
private Object mCallAnswer = null;
/**
* [PRIVATE AND UNSUPPORTED] Instantiates a new answer exception.
* <p>This is used by the instrumented bytecode that provides
* continuations support, it's not intended for general use.
* @param context the active continuation context
* @param answer the answered value
* @since 1.6
*/
public AnswerException(ContinuationContext context, Object answer)
{
super();
mContext = context;
mCallAnswer = answer;
}
/**
* Retrieves the context of this answer continuation.
*
* @return this answer continuation's context
* @since 1.6
*/
public ContinuationContext getContext()
{
return mContext;
}
/**
* Retrieves the answered value.
*
* @return this answer continuation's anwered value; or
* <p>{@code null} if no answer was provided
* @since 1.6
*/
public Object getAnswer()
{
return mCallAnswer;
}
}