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: IAssignableMembership.java,v 1.3 2008/06/25 05:41:45 qcheng Exp $ 026 * 027 */ 028 029package com.iplanet.ums; 030 031/** 032 * Represents a container interface common to groups and roles. It extends 033 * IMembership by adding support for adding and removing members. 034 * 035 * @see com.iplanet.ums.IMembership 036 * @supported.all.api 037 */ 038public interface IAssignableMembership extends IMembership { 039 040 /** 041 * Adds a member to the group. The change is saved to persistent storage. 042 * 043 * @param guid 044 * globally unique identifier for the member to be added 045 * @exception UMSException 046 * on failure to save to persistent storage 047 */ 048 public void addMember(Guid guid) throws UMSException; 049 050 /** 051 * Adds a member to the group. The change is saved to persistent storage. 052 * 053 * @param member 054 * Object to be added 055 * @exception UMSException 056 * on failure to save to persistent storage 057 */ 058 public void addMember(PersistentObject member) throws UMSException; 059 060 /** 061 * Adds a list of members to the group. The change is saved to persistent 062 * storage. 063 * 064 * @param guids 065 * list of member guids to be added as members to the group 066 * @exception UMSException 067 * on failure to save to persistent storage 068 */ 069 public void addMembers(Guid[] guids) throws UMSException; 070 071 /** 072 * Removes a member from the group. The change is saved to persistent 073 * storage. 074 * 075 * @param guid 076 * unique identifier for the member to be removed 077 * @exception UMSException 078 * on failure to save to persistent storage 079 */ 080 public void removeMember(Guid guid) throws UMSException; 081 082 /** 083 * Removes a member from the group. The change is saved to persistent 084 * storage. 085 * 086 * @param member 087 * Object to be removed 088 * @exception UMSException 089 * on failure to save to persistent storage 090 */ 091 public void removeMember(PersistentObject member) throws UMSException; 092 093 /** 094 * Removes all members of the group 095 * 096 * @exception UMSException 097 * on failure to save to persistent storage 098 */ 099 public void removeAllMembers() throws UMSException; 100}