/*******************************************************************************
* Copyright (c) 2012 OpenLegacy Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* OpenLegacy Inc. - initial API and implementation
*******************************************************************************/
package org.openlegacy.terminal.support;
import org.openlegacy.support.SessionModuleAdapter;
import org.openlegacy.terminal.TerminalConnection;
import org.openlegacy.terminal.TerminalConnectionListener;
import org.openlegacy.terminal.TerminalSendAction;
import org.openlegacy.terminal.TerminalSession;
import org.openlegacy.terminal.TerminalSessionModule;
import org.openlegacy.utils.SpringUtil;
import java.io.Serializable;
/**
* Define a terminal session override-able methods which happens before & after a terminal session action
*
*/
public abstract class TerminalSessionModuleAdapter extends SessionModuleAdapter<TerminalSession> implements TerminalSessionModule, TerminalConnectionListener, Serializable {
private static final long serialVersionUID = 1L;
/**
* for serialization purpose only
*/
public TerminalSessionModuleAdapter() {}
public void beforeConnect(TerminalConnection terminalConnection) {
// allow override
}
public void afterConnect(TerminalConnection terminalConnection) {
// allow override
}
public void beforeSendAction(TerminalConnection terminalConnection, TerminalSendAction terminalSendAction) {
// allow override
}
public void afterSendAction(TerminalConnection terminalConnection) {
// allow override
}
public void destroy() {
// allow override
}
public Object readResolve() {
TerminalSession bean = SpringUtil.getApplicationContext().getBean(TerminalSession.class);
setSession(bean);
return this;
}
}