/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.core;
import java.util.BitSet;
import java.util.Date;
import java.util.List;
public interface CommunityContext extends SearchMode
{
public static final int HIDE_NONE = 0;
public static final int HIDE_DIRECTORY = 1;
public static final int HIDE_BOTH = 2;
public abstract int getCommunityID();
public abstract String getName();
public abstract String getAlias();
public abstract boolean isMember();
public abstract boolean isAdmin();
public abstract boolean isPublicCommunity();
public abstract int getCategoryID();
public abstract CategoryDescriptor getCategory() throws DataException;
public abstract String getSynopsis();
public abstract int getHostUID();
public abstract UserProfile getHostProfile() throws DataException;
public abstract String getLanguageCode();
public abstract String getLanguageFullName();
public abstract String getRules();
public abstract Date getCreationDate();
public abstract Date getLastAccessDate();
public abstract Date getLastUpdateDate();
public abstract ContactInfo getContactInfo() throws DataException;
public abstract void putContactInfo(ContactInfo ci) throws DataException, AccessError;
public abstract BitSet getFeatures();
public abstract void setFeatures(BitSet feature_set, BitSet mask) throws DataException, AccessError;
public abstract List getCommunityFeaturesList();
public abstract String getDefaultApplet();
public abstract void setName(String name) throws DataException, AccessError;
public abstract void setAlias(String alias) throws DataException, AccessError;
public abstract void setCategoryID(int catid) throws DataException, AccessError;
public abstract void setCategory(CategoryDescriptor cat) throws DataException, AccessError;
public abstract void setSynopsis(String synopsis) throws DataException, AccessError;
public abstract void setLanguage(String language) throws DataException, AccessError;
public abstract void setRules(String rules) throws DataException, AccessError;
public abstract int getHideMode();
public abstract void setHideMode(int mode) throws DataException, AccessError;
public abstract boolean getMembersOnly();
public abstract void setMembersOnly(boolean flag) throws DataException, AccessError;
public abstract short getInitialFeatureIndex();
public abstract void setInitialFeatureIndex(short ndx) throws DataException, AccessError;
public abstract String getJoinKey() throws DataException, AccessError;
public abstract void setJoinKey(String key) throws DataException, AccessError;
public abstract int getReadLevel() throws DataException, AccessError;
public abstract int getWriteLevel() throws DataException, AccessError;
public abstract int getCreateLevel() throws DataException, AccessError;
public abstract int getDeleteLevel() throws DataException, AccessError;
public abstract int getJoinLevel() throws DataException, AccessError;
public abstract void setSecurityLevels(int read, int write, int create, int delete, int join)
throws DataException, AccessError;
public abstract boolean canAdministerCommunity();
public abstract boolean canModifyProfile();
public abstract boolean isAdminCommunity();
public abstract void join(String joinkey) throws DataException, AccessError;
public abstract void unjoin() throws DataException, AccessError;
public abstract int getMemberCount() throws DataException;
public abstract boolean canUnjoin();
public abstract boolean canJoin();
public abstract List getConferences() throws DataException, AccessError;
public abstract ConferenceContext getConferenceContext(int confid) throws DataException, AccessError;
public abstract ConferenceContext getConferenceContext(String alias) throws DataException, AccessError;
public abstract ConferenceContext createConference(String name, String alias, String description,
boolean pvt, boolean hide_list)
throws DataException, AccessError;
public abstract boolean canCreateConference();
public abstract List searchForMembers(int field, int mode, String term, int offset, int count)
throws DataException;
public abstract int getSearchMemberCount(int field, int mode, String term) throws DataException;
public abstract List getMemberList() throws DataException;
public abstract boolean canManageConferences();
public abstract int getMemberLevel(int uid) throws DataException, AccessError;
public abstract void setMembership(int uid, int new_level)
throws DataException, AccessError;
public abstract boolean canDelete();
public abstract void delete() throws DataException, AccessError;
public abstract void sendInvitation(String address, String personal_message)
throws AccessError, DataException, EmailException;
public abstract boolean canSendInvitation();
public abstract List getAuditRecords(int offset, int count) throws AccessError, DataException;
public abstract int getAuditRecordCount() throws AccessError, DataException;
public abstract CommunityProperties getProperties() throws DataException, AccessError;
public abstract void setProperties(CommunityProperties props) throws DataException, AccessError;
} // end interface CommunityContext