Something went wrong on our end
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
BusinessGroup.java 5.50 KiB
/**
* OLAT - Online Learning and Training<br>
* http://www.olat.org
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); <br>
* you may not use this file except in compliance with the License.<br>
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing,<br>
* software distributed under the License is distributed on an "AS IS" BASIS, <br>
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. <br>
* See the License for the specific language governing permissions and <br>
* limitations under the License.
* <p>
* Copyright (c) since 2004 at Multimedia- & E-Learning Services (MELS),<br>
* University of Zurich, Switzerland.
* <hr>
* <a href="http://www.openolat.org">
* OpenOLAT - Online Learning and Training</a><br>
* This file has been modified by the OpenOLAT community. Changes are licensed
* under the Apache 2.0 license as the original file.
*/
package org.olat.group;
import java.util.Date;
import org.olat.basesecurity.SecurityGroup;
import org.olat.core.id.CreateInfo;
import org.olat.core.id.ModifiedInfo;
import org.olat.core.id.OLATResourceable;
import org.olat.core.id.Persistable;
import org.olat.resource.OLATResource;
/**
* Initial Date: Aug 2, 2004
*
* @author gnaegi<br>
* Comment: All OLAT business group implementation share this interface.
* Examples are the buddygroups or the learning groups
*/
public interface BusinessGroup extends BusinessGroupShort, Persistable, CreateInfo, ModifiedInfo, OLATResourceable {
/** regular expression to check for valid group names */
// commas are not allowed. name is used in course conditions for weak binding
public final static String VALID_GROUPNAME_REGEXP = "^[^,\"]*$";
/** the max length for the group name.*/
public static final int MAX_GROUP_NAME_LENGTH = 255;
/**
* @return The group type identification
*/
public String getType();
/**
* @return The group display name (not system unique)
*/
public String getName();
/**
* @param name The group display name. Must never be NULL
*/
public void setName(String name);
/**
* @return The group description or NULL if none set.
*/
public String getDescription();
/**
* @param description the description of this group. Might be NULL
*/
public void setDescription(String description);
/**
*
* @return An ID used by external system for example.
*/
public String getExternalId();
public void setExternalId(String externalId);
/**
*
* @return List of flags which say what features are externally managed
*/
public BusinessGroupManagedFlag[] getManagedFlags();
/**
* Return the list of managed flags as a string with the
* flags separated by comma.
* @return
*/
public String getManagedFlagsString();
/**
* A list of flags
* @param flags
*/
public void setManagedFlagsString(String flags);
/**
* BusinessGroup was active, lastUsage will be used to determine which groups
* should get deleted by the big administrator.
*
* @param lastUsage
*/
public void setLastUsage(Date lastUsage);
/**
* @return The associated resource
*/
public OLATResource getResource();
/**
* The BusinessGroup has 1..n Owners acting as <i>administrators </i>.
*
* @return the owners
*/
SecurityGroup getOwnerGroup();
/**
* The BusinessGroup has 0..n Partipiciants.
*
* @return the partipiciants
*/
SecurityGroup getPartipiciantGroup();
/**
* The BusinessGroup has 0..n people in the waiting group.
*
* @return the waiting group
*/
public SecurityGroup getWaitingGroup();
/**
* @return last usage of this group
*/
public Date getLastUsage();
public boolean isOwnersVisibleIntern();
public void setOwnersVisibleIntern(boolean visible);
public boolean isParticipantsVisibleIntern();
public void setParticipantsVisibleIntern(boolean visible);
public boolean isWaitingListVisibleIntern();
public void setWaitingListVisibleIntern(boolean visible);
public boolean isOwnersVisiblePublic();
public void setOwnersVisiblePublic(boolean visible);
public boolean isParticipantsVisiblePublic();
public void setParticipantsVisiblePublic(boolean visible);
public boolean isWaitingListVisiblePublic();
public void setWaitingListVisiblePublic(boolean visible);
public boolean isDownloadMembersLists();
public void setDownloadMembersLists(boolean downloadMembersLists);
/**
* @return the maximal number of participants
*/
public Integer getMaxParticipants();
/**
* @param maxParticipants the maximal number of participants
*/
public void setMaxParticipants(Integer maxParticipants);
/**
* @return the minimal number of participants
*/
public Integer getMinParticipants();
/**
* @param minParticipants the minimal number of participants
*/
public void setMinParticipants(Integer minParticipants);
/**
* @return true: if the waiting list will automaticly close ranks to participant list
*/
public Boolean getAutoCloseRanksEnabled();
/**
* @param autoCloseRanksEnabled true: enable automaticly close ranks form waiting list to participant list.
*/
public void setAutoCloseRanksEnabled(Boolean autoCloseRanksEnabled);
/**
* @return true: if waiting-list is enabled
*/
public Boolean getWaitingListEnabled();
/**
* @param waitinglistEnabled true: enable waiting list.
*/
public void setWaitingListEnabled(Boolean waitingListEnabled);
/**
* @param waitingGroup New waiting group.
*/
public void setWaitingGroup(SecurityGroup waitingGroup);
}