All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.picketlink.idm.config.IdentityStoreConfiguration Maven / Gradle / Ivy

There is a newer version: 5.0.0-2013Jan16
Show newest version
/*
 * JBoss, Home of Professional Open Source
 *
 * Copyright 2013 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.picketlink.idm.config;

import org.picketlink.idm.credential.handler.CredentialHandler;
import org.picketlink.idm.model.AttributedType;
import org.picketlink.idm.spi.ContextInitializer;
import org.picketlink.idm.spi.IdentityContext;
import org.picketlink.idm.spi.IdentityStore;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 

* Represents a configuration for a specific {@link org.picketlink.idm.spi.IdentityStore}. *

* * @author Anil Saldhana * @author Shane Bryzak * @since Sep 6, 2012 */ public interface IdentityStoreConfiguration { /** * Returns a List of the configured context initializers for this configuration. Each * context initializer performs a specific initialization task for the IdentityContext before * it is passed to the identity store, for example setting references to system resources (such as * an EntityManager) required by the identity store to perform its identity operations. * * @return */ List getContextInitializers(); Map, Set> getUnsupportedTypes(); Map, Set> getSupportedTypes(); /** *

Indicates if ad-hoc attributes are supported.

* * @return */ boolean supportsAttribute(); /** *

Indicates if credentials are supported.

* * @return */ boolean supportsCredential(); /** *

Indicates if relationships are supported.

* * @return */ boolean supportsRelationship(); /** *

Supported operations for @{AttributedType} types.

*/ enum IdentityOperation { create, read, update, delete } /** *

* Adds a {@link ContextInitializer} instance which will be used to initialize {@link IdentityContext}s for * this configuration. *

* */ void addContextInitializer(ContextInitializer contextInitializer); /** *

* Initialize the specified {@link IdentityContext} *

* * @param context The {@link IdentityContext} to initialize */ void initializeContext(IdentityContext context, IdentityStore store); /** *

Returns a {@link List} of the {@link CredentialHandler} types configured.

* * @return */ List> getCredentialHandlers(); /** *

Allows credential handler behaviour to be customized via a set of property values

* * @return */ Map getCredentialHandlerProperties(); /** *

Checks if the configuration supports the given {@link AttributedType} and {@link IdentityOperation}.

* * @param type * @param operation * @return */ boolean supportsType(Class type, IdentityOperation operation); /** *

Indicates if this configuration supports partition storage.

* * @return */ boolean supportsPartition(); /** * Indicates whether this configuration supports the storing of resource permissions * * @return */ boolean supportsPermissions(); /** *

Returns the {@link IdentityStore} type associated with this configuration.

* * @return */ Class getIdentityStoreType(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy