8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The contents of this file are subject to the terms
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * of the Common Development and Distribution License
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * (the License). You may not use this file except in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * compliance with the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * You can obtain a copy of the License at
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * opensso/legal/CDDLv1.0.txt
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * See the License for the specific language governing
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * permission and limitations under the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * When distributing Covered Code, include this CDDL
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Header Notice in each file and include the License file
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * at opensso/legal/CDDLv1.0.txt.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * If applicable, add the following below the CDDL Header,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * with the fields enclosed by brackets [] replaced by
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * your own identifying information:
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * $Id: AMGroup.java,v 1.4 2008/06/25 05:41:20 qcheng Exp $
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterpackage com.iplanet.am.sdk;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport java.util.Map;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport java.util.Set;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport com.iplanet.sso.SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The <code>AMGroup</code> interface provides methods to manage group
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @deprecated As of Sun Java System Access Manager 7.1.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @supported.all.api
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterabstract public interface AMGroup extends AMObject {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns number of users in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Number of users in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public long getNumberOfUsers() throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the distinguished name of users in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return a set of user distinguished names in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set getUserDNs() throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the distinguished name of users and nested groups in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return The distinguished name of users and nested groups in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set getUserAndGroupDNs() throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Nests the given group distinguished names in this the group. This will
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * effectively make the groups <code>members</code> of this group. And any
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * ACIs set for this group will be inherited by the nested groups and their
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * members.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of group distinguished names to be nested in this
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void addNestedGroups(Set groups) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for users in this group using wildcards and attribute values.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Wildcards can be specified such as a*, *, *a.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param wildcard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * wildcard pattern to be used in the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of distinguished name of users matching the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set searchUsers(String wildcard) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for users in this group using wildcards. Wildcards can be
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * specified such as a*, *, *a.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param wildcard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * wildcard pattern to be used in the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param avPairs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * attribute-value pairs to match when searching users
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param searchControl
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * specifies the size limit and time limit
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return <code>AMSearchResults</code> which contains a set of
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * distinguished name of Users matching the search.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if there is an internal error in the access management store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public AMSearchResults searchUsers(String wildcard, Map avPairs,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster AMSearchControl searchControl) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for users in this group using attribute values. Wildcards such
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * as a*, *, *a can be specified for the attribute values. The distinguished
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * names of users with matching attribute-value pairs will be returned.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param searchControl
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * specifies the search scope to be used, VLV ranges etc.,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param avfilter
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * this attribute-value pairs filter will be logical AND with
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * user search filter.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return <code>AMSearchResults</code> which contains a set of
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * distinguished names of Users matching the search.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if there is an internal error in the access management Store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public AMSearchResults searchUsers(AMSearchControl searchControl,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster String avfilter) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates static groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupNames
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of static groups' names to be created in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return set of static group objects created.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createStaticGroups(Set groupNames) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates static groups and initializes their attributes.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Map where the key is the name of the static group, and the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * value is a Map to represent Attribute-Value Pairs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of group objects created.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createStaticGroups(Map groups) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates dynamic groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupNames
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of dynamic groups' names to be created in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of dynamic group objects created
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createDynamicGroups(Set groupNames) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates dynamic groups and initializes their attributes.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Map of name of the dynamic group to attribute-value pairs map.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of dynamic group objects created.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createDynamicGroups(Map groups) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates assignable dynamic groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupNames
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of assignable dynamic groups' names to be created in
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of assignable dynamic group objects created.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createAssignableDynamicGroups(Set groupNames)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Creates assignable dynamic groups and initializes their attributes.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Map of name of the assignable dynamic group to attribute-value
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * pairs map;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of assignable dynamic group objects created.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set createAssignableDynamicGroups(Map groups) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Gets the groups in this group. It returns groups either at one level or a
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * whole subtree.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param level
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * the level (<code>AMConstants.SCOPE_ONE</code> or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * <code>AMConstants.SCOPE_SUB</code>) for returning groups.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return The group distinguished names in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store or if the level is invalid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set getGroupDNs(int level) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns the groups nested in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return The group distinguished names nested in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set getNestedGroupDNs() throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Removes groups which are nested in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of user DN's to be removed from the static group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void removeNestedGroups(Set groups) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Returns number of groups in the group. It returns number of groups either
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * at one level or a whole subtree.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param level
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * the level (<code>AMConstants.SCOPE_ONE</code> or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * <code>AMConstants.SCOPE_SUB</code>) for returning groups.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Number of groups in the group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public long getNumberOfGroups(int level) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Deletes static groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupDNs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of static group distinguished names to be deleted from
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void deleteStaticGroups(Set groupDNs) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Deletes dynamic groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupDNs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of dynamic group distinguished names to be deleted
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * from this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void deleteDynamicGroups(Set groupDNs) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Deletes assignable dynamic groups in this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param groupDNs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The set of assignable dynamic group distinguished names to be
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * deleted from this group.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void deleteAssignableDynamicGroups(Set groupDNs) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for groups in this group using wildcards. Wildcards can be
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * specified such as a*, *, *a.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param wildcard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * wildcard pattern to be used in the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param level
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * the search level that needs to be used (
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * <code>AMConstants.SCOPE_ONE</code>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * or <code>AMConstants.SCOPE_TREE</code>).
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of distinguished name of sub groups matching the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set searchGroups(String wildcard, int level) throws AMException,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for groups in this group using wildcards and attribute values.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Wildcards can be specified such as a*, *, *a.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param wildcard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * wildcard pattern to be used in the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param avPairs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * attribute-value pairs to match when searching groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param level
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * the search level that needs to be used (
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * <code>AMConstants.SCOPE_ONE</code>
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * or <code>AMConstants.SCOPE_TREE</code>)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return Set of distinguished name of groups matching the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public Set searchGroups(String wildcard, Map avPairs, int level)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Searches for groups in this group using wildcards and attribute values.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Wildcards can be specified such as a*, *, *a.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param wildcard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * wildcard pattern to be used in the search
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param avPairs
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * attribute-value pairs to match when searching groups
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @param searchControl
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * specifies the search scope to be used
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @return <code>AMSearchResults</code> which contains a set of
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * distinguished name of groups matching the search.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws AMException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if an error is encountered when trying to access/retrieve
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * data from the data store.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * @throws SSOException
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * if the single sign on token is no longer valid.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public AMSearchResults searchGroups(String wildcard, Map avPairs,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster AMSearchControl searchControl) throws AMException, SSOException;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}