/** * $RCSfile$ * $Revision$ * $Date$ * * Copyright (C) 2004 Jive Software. All rights reserved. * * This software is published under the terms of the GNU Public License (GPL), * a copy of which is included in this distribution. */ package org.jivesoftware.messenger; import org.jivesoftware.messenger.auth.UnauthorizedException; import org.xmpp.packet.Packet; /** * Interface to handle packets delivered by Channels. * * @author Matt Tucker */ public interface ChannelHandler<T extends Packet> { /** * Process an XMPP packet. * * @param packet a packet to process. * @throws UnauthorizedException thrown if the packet's sender lacks authorization * to access resources (will result in uniform unauthorized access error reply). * @throws PacketException thrown if the packet is malformed (results in the sender's * session being shutdown). */ public abstract void process(T packet) throws UnauthorizedException, PacketException; }