/** * $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.spi; import org.jivesoftware.messenger.container.Container; import org.jivesoftware.messenger.Session; import org.jivesoftware.messenger.XMPPAddress; import org.jivesoftware.messenger.XMPPServer; import org.jivesoftware.messenger.XMPPServerInfo; import org.jivesoftware.messenger.auth.AuthToken; import org.jivesoftware.messenger.auth.Permissions; import org.jivesoftware.messenger.auth.UnauthorizedException; /** * Standard security wrapper for the XMPPServer class. This class also * allows a simple mechanism for wrapping all server resources using * a single security and resource control context without having to * impose proxies for each resource. * * @author Iain Shigeoka */ public class XMPPServerProxy implements XMPPServer { private XMPPServer server; private AuthToken authToken; private Permissions permissions; /** * <p>Create a new server proxy.</p> * * @param server The server to proxy * @param auth The auth for the server * @param permission The permissions for the server */ public XMPPServerProxy(XMPPServer server, AuthToken auth, Permissions permission) { this.server = server; this.authToken = auth; this.permissions = permission; } public XMPPServerInfo getServerInfo() { return server.getServerInfo(); } public boolean isLocal(XMPPAddress jid) { return server.isLocal(jid); } public XMPPAddress createAddress(String username, String resource) { return server.createAddress(username, resource); } public Session getSession() throws UnauthorizedException { return server.getSession(); } public String getName() { return server.getName(); } public void initialize(Container container) { server.initialize(container); } public void start() { server.start(); } public void stop() { server.stop(); } public void destroy() { server.destroy(); } }