/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.geoserver.xacml.request;
import java.util.Map;
import org.geoserver.catalog.ResourceInfo;
import org.geoserver.catalog.WorkspaceInfo;
import org.geoserver.security.AccessMode;
import org.geoserver.xacml.geoxacml.GeoXACMLConfig;
import org.geoserver.xacml.role.XACMLRole;
/**
* Interface for RequestCtxBuilders User can do an own implementation and configure in
* applicationContext.xml The Factory is instantiated in {@link GeoXACMLConfig}
*
* @author Christian Mueller
*
*/
public interface RequestCtxBuilderFactory {
public RequestCtxBuilder getCatalogRequestCtxBuilder();
public RequestCtxBuilder getXACMLRoleRequestCtxBuilder(XACMLRole targetRole, String userName);
public RequestCtxBuilder getWorkspaceRequestCtxBuilder(XACMLRole role, WorkspaceInfo info,
AccessMode mode);
public RequestCtxBuilder getURLMatchRequestCtxBuilder(XACMLRole role, String urlString,
String method, Map<String, Object> httpParams,String remoteIP,String remoteHost);
public RequestCtxBuilder getResourceInfoRequestCtxBuilder(XACMLRole role,
ResourceInfo resourceInfo, AccessMode mode);
}