blob: ec6f441d151d3050da65a23bf808530773ffb4a3 [file] [log] [blame]
/*
* This file is part of the QuickServer library
* Copyright (C) QuickServer.org
*
* Use, modification, copying and distribution of this software is subject to
* the terms and conditions of the GNU Lesser General Public License.
* You should have received a copy of the GNU LGP License along with this
* library; if not, you can download a copy from <http://www.quickserver.org/>.
*
* For questions, suggestions, bug-reports, enhancement-requests etc.
* visit http://www.quickserver.org
*
*/
package org.quickserver.net;
import org.quickserver.net.server.QuickServer;
/**
* This interface is for any class that would like to become
* a server hook. These are event listeners to the QuickServer.
* <p>Following types of Server hooks are currently supported.
* pre-startup, post-startup, pre-shutdown, post-shutdown.
* These classes should have a default constructor. </p>
* @see org.quickserver.util.xmlreader.ServerHooks
* @see org.quickserver.net.InitServerHook
* @author Akshathkumar Shetty
* @since 1.3.3
*/
public interface ServerHook {
//--types of hooks supported
public final static int PRE_STARTUP = 100;
public final static int POST_STARTUP = 101;
public final static int PRE_SHUTDOWN = 201;
public final static int POST_SHUTDOWN = 202;
/**
* Information about the server hook.
*/
public String info();
/**
* Method called to perform any initialisation
* @param quickserver is the server to which hook belongs to.
*/
public void initHook(QuickServer quickserver);
/**
* Invoked pre/post server event. If the hook is doing some
* action for the even passed it should return true indicating the same.
* @see #PRE_STARTUP
* @see #POST_STARTUP
* @see #PRE_SHUTDOWN
* @see #POST_SHUTDOWN
*/
public boolean handleEvent(int event);
}