001/**
002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003 *
004 * Copyright (c) 2005 Sun Microsystems Inc. All Rights Reserved
005 *
006 * The contents of this file are subject to the terms
007 * of the Common Development and Distribution License
008 * (the License). You may not use this file except in
009 * compliance with the License.
010 *
011 * You can obtain a copy of the License at
012 * https://opensso.dev.java.net/public/CDDLv1.0.html or
013 * opensso/legal/CDDLv1.0.txt
014 * See the License for the specific language governing
015 * permission and limitations under the License.
016 *
017 * When distributing Covered Code, include this CDDL
018 * Header Notice in each file and include the License file
019 * at opensso/legal/CDDLv1.0.txt.
020 * If applicable, add the following below the CDDL Header,
021 * with the fields enclosed by brackets [] replaced by
022 * your own identifying information:
023 * "Portions Copyrighted [year] [name of copyright owner]"
024 *
025 * $Id: AMStaticGroup.java,v 1.4 2008/06/25 05:41:23 qcheng Exp $
026 *
027 */
028
029package com.iplanet.am.sdk;
030
031import java.util.Set;
032
033import com.iplanet.sso.SSOException;
034
035/**
036 * This interface provides methods to manage static group.
037 * <code>AMStaticGroup</code> object can be obtained by using
038 * <code>AMStoreConnection</code>. A handle to this object can be obtained by
039 * using the DN of the object.
040 * 
041 * <PRE>
042 * 
043 * AMStoreConnection amsc = new AMStoreConnection(ssotoken); if
044 * (amsc.doesEntryExist(sDN)) { AMStaticGroup sg = amsc.getStaticGroup(rDN); }
045 * 
046 * </PRE>
047 *
048 * @deprecated  As of Sun Java System Access Manager 7.1.
049 * @supported.all.api
050 */
051public interface AMStaticGroup extends AMGroup {
052    /**
053     * Adds users to the static group.
054     * 
055     * @param users
056     *            The set of user DN's to be added to the static group.
057     * @throws AMException
058     *             if an error is encountered when trying to access/retrieve
059     *             data from the data store
060     * @throws SSOException
061     *             if the single sign on token is no longer valid
062     */
063    public void addUsers(Set users) throws AMException, SSOException;
064
065    /**
066     * Removes users from the static group.
067     * 
068     * @param users
069     *            The set of user DN's to be removed from the static group.
070     * @throws AMException
071     *             if an error is encountered when trying to access/retrieve
072     *             data from the data store
073     * @throws SSOException
074     *             if the single sign on token is no longer valid
075     */
076    public void removeUsers(Set users) throws AMException, SSOException;
077
078    /**
079     * Returns true if the group is subscribable.
080     * 
081     * @return true if the group is subscribable.
082     * @throws AMException
083     *             if an error is encountered when trying to access/retrieve
084     *             data from the data store
085     * @throws SSOException
086     *             if the single sign on token is no longer valid
087     */
088    public boolean isSubscribable() throws AMException, SSOException;
089
090    /**
091     * Sets subscribe-ability of the group.
092     * 
093     * @param subscribable
094     *            true if the group is subscribable.
095     * @throws AMException
096     *             if an error is encountered when trying to access/retrieve
097     *             data from the data store
098     * @throws SSOException
099     *             if the single sign on token is no longer valid
100     */
101    public void setSubscribable(boolean subscribable) throws AMException,
102            SSOException;
103}