/** * */ package com.cwa.nagrand.action; import com.cwa.gamecore.action.IAction; import com.cwa.gamecore.message.AbstractMessage; import com.cwa.gamecore.session.GameSession; /** * @author zero * */ public abstract class BasicAction <T extends AbstractMessage, R extends AbstractMessage> implements IAction<T> { @Override public void execute(GameSession session, T request) { try { AbstractMessage response = execute(request); if (null != response) session.write(response); } catch (Throwable e) { e.printStackTrace(); } } public abstract R execute(T arg1); }