/*******************************************************************************
* Copyright (c) 2004 Composent, Inc. and others. 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: Composent, Inc. - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.core.security;
import java.security.PermissionCollection;
import org.eclipse.ecf.core.identity.ID;
/**
* Connect policy typically implemented by servers
*
*/
public interface IConnectHandlerPolicy extends IContainerPolicy {
/**
* Check connect request
*
* @param address
* the address for the remote client
* @param fromID
* the ID of the container making the connect request
* @param targetID
* the ID of the container responding to that connect request
* @param targetGroup
* the target name of the group that is being connected to
* @param connectData
* arbitrary data associated with the join request
* @return PermissionCollection a collection of permissions associated with
* a successful acceptance of join request
* @throws Exception thrown if connect should not be allowed
*/
public PermissionCollection checkConnect(Object address, ID fromID, ID targetID, String targetGroup, Object connectData) throws Exception;
}