package org.qi4j.library.struts2.support.edit;
import org.qi4j.api.injection.scope.This;
import org.qi4j.library.struts2.support.ProvidesEntityOfMixin;
import static org.qi4j.library.struts2.util.ParameterizedTypes.findTypeVariables;
public abstract class ProvidesEditingOfMixin<T>
extends ProvidesEntityOfMixin<T>
implements ProvidesEditingOf<T>
{
@This
private ProvidesEditingOf<T> action;
@Override
public void prepare()
throws Exception
{
loadEntity();
}
@Override
public void prepareInput()
throws Exception
{
}
@Override
public String input()
{
if( getEntity() == null )
{
return "entity-not-found";
}
return INPUT;
}
@Override
protected Class<T> typeToLoad()
{
return (Class<T>) findTypeVariables( action.getClass(), ProvidesEditingOf.class )[ 0 ];
}
}