package edu.ualberta.med.biobank.common.action.security;
import java.io.Serializable;
import edu.ualberta.med.biobank.common.action.ActionResult;
import edu.ualberta.med.biobank.common.action.security.Action2p0.ActionInput;
import edu.ualberta.med.biobank.common.action.security.Action2p0.ActionOutput;
import edu.ualberta.med.biobank.common.util.NotAProxy;
/**
* Intended to replace the {@link edu.ualberta.med.biobank.common.action.Action}
* interface.
*
* @author Jonathan Ferland
*
* @param <I>
* @param <O>
*/
public interface Action2p0<I extends ActionInput, O extends ActionOutput> {
public boolean isAllowed(I input);
public O run(I input);
public interface ActionInput
extends Serializable, NotAProxy {
}
public interface ActionOutput
extends ActionResult, Serializable, NotAProxy {
}
}