/* * $Id: Group.java,v 1.49 2005/08/18 10:23:00 sigtryggur Exp $ * Created on Nov 16, 2004 * * Copyright (C) 2004 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package com.idega.user.data; import java.sql.Timestamp; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import javax.ejb.CreateException; import javax.ejb.EJBException; import javax.ejb.FinderException; import javax.ejb.RemoveException; import com.idega.core.builder.data.ICPage; import com.idega.core.contact.data.Email; import com.idega.core.contact.data.Phone; import com.idega.core.data.ICTreeNode; import com.idega.core.file.data.ICFile; import com.idega.core.location.data.Address; import com.idega.core.location.data.AddressType; import com.idega.data.IDOAddRelationshipException; import com.idega.data.IDOCompositePrimaryKeyException; import com.idega.data.IDOEntity; import com.idega.data.IDOLookupException; import com.idega.data.IDORelationshipException; import com.idega.data.MetaDataCapable; import com.idega.data.UniqueIDCapable; import com.idega.data.query.SelectQuery; import com.idega.idegaweb.IWApplicationContext; /** * * Last modified: $Date: 2005/08/18 10:23:00 $ by $Author: sigtryggur $ * * @author <a href="mailto:eiki@idega.com">eiki</a> * @version $Revision: 1.49 $ */ public interface Group extends IDOEntity, ICTreeNode, MetaDataCapable, UniqueIDCapable { /** * @see com.idega.user.data.GroupBMPBean#getGroupTypeValue */ public String getGroupTypeValue(); /** * @see com.idega.user.data.GroupBMPBean#getGroupTypeKey */ public String getGroupTypeKey(); /** * @see com.idega.user.data.GroupBMPBean#getGroupTypeDescription */ public String getGroupTypeDescription(); /** * @see com.idega.user.data.GroupBMPBean#getName */ public String getName(); /** * @see com.idega.user.data.GroupBMPBean#setName */ public void setName(String name); /** * @see com.idega.user.data.GroupBMPBean#getGroupType */ public String getGroupType(); /** * @see com.idega.user.data.GroupBMPBean#setGroupType */ public void setGroupType(String groupType); /** * @see com.idega.user.data.GroupBMPBean#setGroupType */ public void setGroupType(GroupType groupType); /** * @see com.idega.user.data.GroupBMPBean#setAliasID */ public void setAliasID(int id); /** * @see com.idega.user.data.GroupBMPBean#setAlias */ public void setAlias(Group alias); /** * @see com.idega.user.data.GroupBMPBean#getAliasID */ public int getAliasID(); /** * @see com.idega.user.data.GroupBMPBean#getAlias */ public Group getAlias(); /** * @see com.idega.user.data.GroupBMPBean#isAlias */ public boolean isAlias(); /** * @see com.idega.user.data.GroupBMPBean#setPermissionControllingGroupID */ public void setPermissionControllingGroupID(int id); /** * @see com.idega.user.data.GroupBMPBean#setPermissionControllingGroup */ public void setPermissionControllingGroup(Group controllingGroup); /** * @see com.idega.user.data.GroupBMPBean#getPermissionControllingGroupID */ public int getPermissionControllingGroupID(); /** * @see com.idega.user.data.GroupBMPBean#getPermissionControllingGroup */ public Group getPermissionControllingGroup(); /** * @see com.idega.user.data.GroupBMPBean#setShortName */ public void setShortName(String shortName); /** * @see com.idega.user.data.GroupBMPBean#setAbbrevation */ public void setAbbrevation(String abbr); /** * @see com.idega.user.data.GroupBMPBean#getDescription */ public String getDescription(); /** * @see com.idega.user.data.GroupBMPBean#setDescription */ public void setDescription(String description); /** * @see com.idega.user.data.GroupBMPBean#getExtraInfo */ public String getExtraInfo(); /** * @see com.idega.user.data.GroupBMPBean#setExtraInfo */ public void setExtraInfo(String extraInfo); /** * @see com.idega.user.data.GroupBMPBean#getCreated */ public Timestamp getCreated(); /** * @see com.idega.user.data.GroupBMPBean#setCreated */ public void setCreated(Timestamp created); /** * @see com.idega.user.data.GroupBMPBean#getHomePageID */ public int getHomePageID(); /** * @see com.idega.user.data.GroupBMPBean#getHomePage */ public ICPage getHomePage(); /** * @see com.idega.user.data.GroupBMPBean#setHomePageID */ public void setHomePageID(int pageID); /** * @see com.idega.user.data.GroupBMPBean#setHomePageID */ public void setHomePageID(Integer pageID); /** * @see com.idega.user.data.GroupBMPBean#setHomePage */ public void setHomePage(ICPage page); /** * @see com.idega.user.data.GroupBMPBean#getHomeFolderID */ public int getHomeFolderID(); /** * @see com.idega.user.data.GroupBMPBean#getHomeFolder */ public ICFile getHomeFolder(); /** * @see com.idega.user.data.GroupBMPBean#setHomeFolderID */ public void setHomeFolderID(int fileID); /** * @see com.idega.user.data.GroupBMPBean#setHomeFolderID */ public void setHomeFolderID(Integer fileID); /** * @see com.idega.user.data.GroupBMPBean#setHomeFolder */ public void setHomeFolder(ICFile file); /** * @see com.idega.user.data.GroupBMPBean#getShortName */ public String getShortName(); /** * @see com.idega.user.data.GroupBMPBean#getAbbrevation */ public String getAbbrevation(); /** * @see com.idega.user.data.GroupBMPBean#getHomePageURL */ public String getHomePageURL(); /** * @see com.idega.user.data.GroupBMPBean#setHomePageURL */ public void setHomePageURL(String homePage); /** * @see com.idega.user.data.GroupBMPBean#setIsPermissionControllingGroup */ public void setIsPermissionControllingGroup(boolean isControlling); /** * @see com.idega.user.data.GroupBMPBean#isPermissionControllingGroup */ public boolean isPermissionControllingGroup(); /** * @see com.idega.user.data.GroupBMPBean#getParentGroups */ public List getParentGroups() throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getParentGroups */ public List getParentGroups(Map cachedParents, Map cachedGroups) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getChildGroups */ public List getChildGroups() throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getChildGroups */ public List getChildGroups(String[] groupTypes, boolean returnSpecifiedGroupTypes) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getChildGroupsIDs */ public List getChildGroupsIDs(String[] groupTypes, boolean returnSpecifiedGroupTypes) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getChildGroups */ public Collection getChildGroups(Group groupTypeProxy) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getAllGroupsContainingUser */ public Collection getAllGroupsContainingUser(User user) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addGroup */ public void addGroup(Group groupToAdd) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addGroup */ public void addGroup(User userToAdd) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addGroup */ public void addGroup(Group groupToAdd, Timestamp time) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addGroup */ public void addGroup(int groupId, Timestamp time) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addGroup */ public void addGroup(int groupId) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#addRelation */ public void addRelation(Group groupToAdd, String relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addRelation */ public void addRelation(Group groupToAdd, GroupRelationType relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addRelation */ public void addRelation(int relatedGroupId, GroupRelationType relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addRelation */ public void addRelation(int relatedGroupId, String relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addUniqueRelation */ public void addUniqueRelation(int relatedGroupId, String relationType, Timestamp time) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addUniqueRelation */ public void addUniqueRelation(int relatedGroupId, String relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#addUniqueRelation */ public void addUniqueRelation(Group relatedGroup, String relationType) throws CreateException; /** * @see com.idega.user.data.GroupBMPBean#removeRelation */ public void removeRelation(Group relatedGroup, String relationType) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#removeRelation */ public void removeRelation(int relatedGroupId, String relationType) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#removeRelation */ public void removeRelation(Group relatedGroup, String relationType, User performer) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#removeRelation */ public void removeRelation(int relatedGroupId, String relationType, User performer) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#getRelatedBy */ public Collection getRelatedBy(GroupRelationType relationType) throws FinderException; /** * @see com.idega.user.data.GroupBMPBean#getRelatedBy */ public Collection getRelatedBy(String relationType) throws FinderException; /** * @see com.idega.user.data.GroupBMPBean#getReverseRelatedBy */ public Collection getReverseRelatedBy(String relationType) throws FinderException; /** * @see com.idega.user.data.GroupBMPBean#removeUser */ public void removeUser(User user, User currentUser) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#removeUser */ public void removeUser(User user, User currentUser, Timestamp time) throws RemoveException; /** * @see com.idega.user.data.GroupBMPBean#hasRelationTo */ public boolean hasRelationTo(Group group); /** * @see com.idega.user.data.GroupBMPBean#hasRelationTo */ public boolean hasRelationTo(int groupId); /** * @see com.idega.user.data.GroupBMPBean#hasRelationTo */ public boolean hasRelationTo(int groupId, String relationType); /** * @see com.idega.user.data.GroupBMPBean#getChildrenIterator */ public Iterator getChildrenIterator(); /** * @see com.idega.user.data.GroupBMPBean#getChildren */ public Collection getChildren(); /** * @see com.idega.user.data.GroupBMPBean#getAllowsChildren */ public boolean getAllowsChildren(); /** * @see com.idega.user.data.GroupBMPBean#getChildAtIndex */ public ICTreeNode getChildAtIndex(int childIndex); /** * @see com.idega.user.data.GroupBMPBean#getChildCount */ public int getChildCount(); /** * @see com.idega.user.data.GroupBMPBean#getIndex */ public int getIndex(ICTreeNode node); /** * @see com.idega.user.data.GroupBMPBean#getParentNode */ public ICTreeNode getParentNode(); /** * @see com.idega.user.data.GroupBMPBean#isLeaf */ public boolean isLeaf(); /** * @see com.idega.user.data.GroupBMPBean#getNodeName */ public String getNodeName(); /** * @see com.idega.user.data.GroupBMPBean#getNodeName */ public String getNodeName(Locale locale); /** * @see com.idega.user.data.GroupBMPBean#getNodeName */ public String getNodeName(Locale locale, IWApplicationContext iwac); /** * @see com.idega.user.data.GroupBMPBean#getNodeID */ public int getNodeID(); /** * @see com.idega.user.data.GroupBMPBean#getSiblingCount */ public int getSiblingCount(); /** * @see com.idega.user.data.GroupBMPBean#getNodeType */ public int getNodeType(); /** * @see com.idega.user.data.GroupBMPBean#store */ public void store(); /** * @see com.idega.user.data.GroupBMPBean#isUser */ public boolean isUser(); /** * @see com.idega.user.data.GroupBMPBean#addAddress */ public void addAddress(Address address) throws IDOAddRelationshipException; /** * @see com.idega.user.data.GroupBMPBean#getAddresses */ public Collection getAddresses(AddressType addressType) throws IDOLookupException, IDOCompositePrimaryKeyException, IDORelationshipException; /** * @see com.idega.user.data.GroupBMPBean#getPhones */ public Collection getPhones(); /** * @see com.idega.user.data.GroupBMPBean#getPhones */ public Collection getPhones(String phoneTypeID); /** * @see com.idega.user.data.GroupBMPBean#getEmails */ public Collection getEmails(); /** * @see com.idega.user.data.GroupBMPBean#addEmail */ public void addEmail(Email email) throws IDOAddRelationshipException; /** * @see com.idega.user.data.GroupBMPBean#addPhone */ public void addPhone(Phone phone) throws IDOAddRelationshipException; /** * @see com.idega.user.data.GroupBMPBean#removeGroup */ public void removeGroup(Group entityToRemoveFrom, User currentUser) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#removeGroup */ public void removeGroup(User currentUser) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#removeGroup */ public void removeGroup(int relatedGroupId, User currentUser, boolean AllEntries, Timestamp time) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#removeGroup */ public void removeGroup(int relatedGroupId, User currentUser, boolean AllEntries) throws EJBException; /** * @see com.idega.user.data.GroupBMPBean#getSelectQueryConstraints */ public SelectQuery getSelectQueryConstraints(); }