/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security; import java.io.IOException; import org.geoserver.security.config.SecurityNamedServiceConfig; /** * Common interface for {@link GeoServerRoleService} and {@link GeoServerUserGroupService}. * * @author Justin Deoliveira, OpenGeo * */ public interface GeoServerSecurityService { /** * Initialize from configuration object */ void initializeFromConfig(SecurityNamedServiceConfig config) throws IOException; /** * Flag specifying whether the service can create an associated store. */ boolean canCreateStore(); /** * The name of this service */ String getName(); /** * Sets the name of this service */ void setName(String name); /** * Sets the reference to the security manager facade for the service. * <p> * This method is called when the service is loaded. * </p> */ void setSecurityManager(GeoServerSecurityManager securityManager); /** * Returns the reference to the security manager, set by * {@link #setSecurityManager(GeoServerSecurityManager)}. */ GeoServerSecurityManager getSecurityManager(); // /** // * The user details service. // */ // GeoserverUserDetailsService getUserDetailsService(); // // /** // * Sets the user details service. // */ // void setUserDetailsService(GeoserverUserDetailsService userDetailsService); }