/** * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved * * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * https://opensso.dev.java.net/public/CDDLv1.0.html or * opensso/legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at opensso/legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * $Id: AMGroupContainer.java,v 1.4 2008/06/25 05:41:20 qcheng Exp $ * */ package com.iplanet.am.sdk; import java.util.Map; import java.util.Set; import com.iplanet.sso.SSOException; /** * This interface provides methods to manage group container. * AMGroupContainer objects can be obtained by using * AMStoreConnection. A handle to this object can be obtained by * using the DN of the object. * *
 * 
 * AMStoreConnection amsc = new AMStoreConnection(ssotoken); if
 * (amsc.doesEntryExist(gcDN)) { AMGroupContainer dg =
 * amsc.getGroupContainer(gcDN); }
 * 
 * 
* * @deprecated As of Sun Java System Access Manager 7.1. * @supported.all.api */ public interface AMGroupContainer extends AMObject { /** * Creates sub group containers in this group container. * * @param groupContainers * The set of group container names to be created in this group * container. * @return Set set of group container objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createSubGroupContainers(Set groupContainers) throws AMException, SSOException; /** * Creates sub group containers and initializes their attributes. * * @param groupContainers * Map where the key is the name of the group container, and the * value is a Map to represent Attribute-Value Pairs . * @return Set of group container objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createSubGroupContainers(Map groupContainers) throws AMException, SSOException; /** * Returns the sub containers in this group container. It returns sub * containers either at one level or a whole subtree. * * @param level * AMConstants.SCOPE_ONE or * AMConstants.SCOPE_SUB for returning sub * containers. * @return The sub container distinguished names in this group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store or if level is invalid. * @throws SSOException * if the single sign on token is no longer valid. */ public Set getSubGroupContainerDNs(int level) throws AMException, SSOException; /** * Returns number of sub group containers in the group container. * * @return Number of sub group containers in the group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign token on is no longer valid. */ public long getNumberOfSubGroupContainers() throws AMException, SSOException; /** * Deletes sub group containers in this group container. * * @param groupContainers * set of container distinguished name to be deleted from the * group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public void deleteSubGroupContainers(Set groupContainers) throws AMException, SSOException; /** * Searches for sub group containers in this group container using wildcards * and attribute values. Wildcards can be specified such as a*, *, *a. To * further refine the search, attribute-value pairs can be specified so that * distinguished name of group containers with matching attribute-value * pairs will be returned. * * @param wildcard * wildcard pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching group * Containers. * @param level * the search level that needs to be used * AMConstants.SCOPE_ONE or * AMConstants.SCOPE_SUB. * @return Set distinguished name of group containers matching the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store * @throws SSOException * if the single sign on token is no longer valid. */ public Set searchSubGroupContainers(String wildcard, Map avPairs, int level) throws AMException, SSOException; /** * Searches for group containers in this group container using wildcards and * attribute values. Wildcards can be specified such as a*, *, *a. To * further refine the search, attribute-value pairs can be specified so that * distinguished names of group containers with matching attribute-value * pairs will be returned. * * @param wildcard * wildcard pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching group * containers. * @param searchControl * specifies the search scope to be used, VLV ranges etc., * @return AMSearchResults object which contains the set * distinguished name of group containers matching the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMSearchResults searchSubGroupContainers(String wildcard, Map avPairs, AMSearchControl searchControl) throws AMException, SSOException; /** * Creates static groups in this group container. * * @param groupNames * The set of static groups' names to be created in this group * container. * @return set of static group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. * @throws AMException * if an error is encountered when trying to create entries in * the data store. */ public Set createStaticGroups(Set groupNames) throws AMException, SSOException; /** * Creates static groups and initializes their attributes. * * @param groups * Map where the key is the name of the static group, and the * value is a Map to represent attribute-value Pairs. * @return Set of group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store * @throws SSOException * if the single sign on token is no longer valid. * @throws AMException * if an error is encountered when trying to create entries in * the data store. */ public Set createStaticGroups(Map groups) throws AMException, SSOException; /** * Creates static group. Takes serviceNameAndAttr map so that * services can be assigned to the group which is just created. * * @param name * of group to be created. * @param attributes * attributes to be set in group node. * @param serviceNameAndAttrs * map of service name to attribute map where the map is like * this: * *
     * <serviceName><AttrMap>
     *       (attrMap=<attrName><Set of attrvalues>)
     * 
* * @return the newly created group. * @throws AMException * if an error is encountered when trying to create entries in * the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMGroup createStaticGroup(String name, Map attributes, Map serviceNameAndAttrs) throws AMException, SSOException; /** * Creates dynamic groups in this group container. * * @param groupNames * The set of dynamic groups' names to be created in this group * container. * @return Set of dynamic group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createDynamicGroups(Set groupNames) throws AMException, SSOException; /** * Creates dynamic groups and initializes their attributes. * * @param groups * map of dynamic group's name to its attribute-value pairs map. * @return Set of dynamic group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createDynamicGroups(Map groups) throws AMException, SSOException; /** * Creates dynamic group. Takes serviceNameAndAttr map so * that services can be assigned to the group which is just created. * * @param name * of group to be created. * @param attributes * attributes to be set in group * @param serviceNameAndAttrs * map of service name and attribute maps where the map is like * this: * *
     * <serviceName><AttrMap>
     *      (attrMap=<attrName><Set of attrvalues>)
     * 
* * @return AMGroup object of newly created group. * @throws AMException * if an error is encountered when trying to create entries in * the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMGroup createDynamicGroup(String name, Map attributes, Map serviceNameAndAttrs) throws AMException, SSOException; /** * Creates assignable dynamic groups in this group container. * * @param groupNames * The set of assignable dynamic groups' names to be created in * this group container. * @return Set of assignable dynamic group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createAssignableDynamicGroups(Set groupNames) throws AMException, SSOException; /** * Creates assignable dynamic groups and initializes their attributes. * * @param groups * Map where the key is the name of the assignable dynamic group, * and the value is a Map to represent attribute-value pairs. * @return Set of assignable dynamic group objects created. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set createAssignableDynamicGroups(Map groups) throws AMException, SSOException; /** * Creates assignable dynamic group. Takes serviceNameAndAttr * map so that services can be assigned to the group which is just created. * * @param name * of group to be created. * @param attributes * attribute-value pairs to be set. * @param serviceNameAndAttrs * map of service name to attribute map where the map is like * this: * *
     * <serviceName><AttrMap>
     *      (attrMap=<attrName><Set of attrvalues>)
     * 
* * @return AMGroup object of newly created group. * @throws AMException * if an error is encountered when trying to create entries in * the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMGroup createAssignableDynamicGroup(String name, Map attributes, Map serviceNameAndAttrs) throws AMException, SSOException; /** * Gets the groups in this group container. It returns groups either at one * level or a whole subtree. * * @param level * the level (AMConstants.SCOPE_ONE or * AMConstants.SCOPE_SUB) for returning groups. * @return the group distinguished names in this group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store or if the level is invalid. * @throws SSOException * if the single sign on token is no longer valid. */ public Set getGroupDNs(int level) throws AMException, SSOException; /** * Returns number of groups in the group container. It returns number of * groups either at one level or a whole subtree. * * @param level * the level (AMConstants.SCOPE_ONE or * AMConstants.SCOPE_SUB) for returning groups. * @return the number of groups in the group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public long getNumberOfGroups(int level) throws AMException, SSOException; /** * Deletes static groups in this group container. * * @param groupDNs * The set of static group distinguished name to be deleted from * this group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public void deleteStaticGroups(Set groupDNs) throws AMException, SSOException; /** * Deletes dynamic groups in this group container. * * @param groupDNs * The set of dynamic group distinguished names to be deleted * from this group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public void deleteDynamicGroups(Set groupDNs) throws AMException, SSOException; /** * Deletes assignable dynamic groups in this group container. * * @param groupDNs * The set of assignable dynamic group distinguished names to be * deleted from this group container. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public void deleteAssignableDynamicGroups(Set groupDNs) throws AMException, SSOException; /** * Searches for groups in this group container using wildcards and attribute * values. Wildcards can be specified such as a*, *, *a. * * @param wildcard * pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching groups. * @param level * the search level that needs to be used * AMConstants.SCOPE_ON or * AMConstants.SCOPE_SUB. * @return Set of distinguished name of groups matching the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set searchGroups(String wildcard, Map avPairs, int level) throws AMException, SSOException; /** * Searches for groups in this group container using wildcards. Wildcards * can be specified such as a*, *, *a. Uses the * groupSearchTemplate, if provided. Otherwise the default * search templates for the types of groups are used. * * @param wildcard * pattern to be used in the search. * @param level * the search level that needs to be used * AMConstants.SCOPE_ONE or * AMConstants.SCOPE_SUB. * @param groupSearchTemplate * name of the search template to be used to perform this search. * @param avPairs * This option can be used to further qualify the search filter. * The attribute-value pairs provided by this map are appended to * the search filter. * @return Set of distinguished name of assignable dynamic groups matching * the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public Set searchGroups(String wildcard, int level, String groupSearchTemplate, Map avPairs) throws AMException, SSOException; /** * Searches for assignable dynamic groups in this group container using * wildcards and attribute values. Wildcards can be specified such as a*, *, * *a. To further refine the search, attribute-value pairs can be specified * so that distinguished name of dynamic groups with matching * attribute-value pairs will be returned. * * @param wildcard * pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching assignable * dynamic groups. * @param groupSearchTemplate * Name of search template to be used to perform the search. * @param searchControl * specifies the search scope to be used, VLV ranges etc. * @return AMSearchResults which contains a set of * distinguished name of assignable dynamic groups matching the * search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMSearchResults searchGroups(String wildcard, Map avPairs, String groupSearchTemplate, AMSearchControl searchControl) throws AMException, SSOException; /** * Searches for groups in this group container using wildcards and attribute * values. Wildcards can be specified such as a*, *, *a. * * @param wildcard * pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching groups. * @param searchControl * specifies the search scope to be used. * @return AMSearchResults which contains Set a of * distinguished name of groups matching the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMSearchResults searchGroups(String wildcard, Map avPairs, AMSearchControl searchControl) throws AMException, SSOException; /** * Searches for static groups in this group container using wildcards and * attribute values. Wildcards can be specified such as a*, *, *a. * * @param wildcard * pattern to be used in the search. * @param avPairs * attribute-value pairs to match when searching groups. * @param searchControl * specifies the search scope to be used. * @return AMSearchResults which contains Set a of * distinguished name of groups matching the search. * @throws AMException * if an error is encountered when trying to access/retrieve * data from the data store. * @throws SSOException * if the single sign on token is no longer valid. */ public AMSearchResults searchStaticGroups(String wildcard, Map avPairs, AMSearchControl searchControl) throws AMException, SSOException; }