/* * 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.Date; import java.util.List; import com.silverwrist.venice.except.AccessError; import com.silverwrist.venice.except.DataException; import com.silverwrist.venice.except.EmailException; import com.silverwrist.venice.htmlcheck.HTMLChecker; public interface TopicContext { public abstract void refresh() throws DataException; public abstract int getTopicID(); public abstract short getTopicNumber(); public abstract String getName(); public abstract int getUnreadMessages(); public abstract int getTotalMessages(); public abstract Date getLastUpdateDate(); public abstract int getCreatorUID(); public abstract boolean isFrozen(); public abstract boolean isArchived(); public abstract Date getCreatedDate(); public abstract boolean isHidden(); public abstract boolean isDeleted(); public abstract boolean canFreeze(); public abstract boolean canArchive(); public abstract void setFrozen(boolean flag) throws DataException, AccessError; public abstract void setArchived(boolean flag) throws DataException, AccessError; public abstract void setHidden(boolean flag) throws DataException; public abstract int getFirstUnreadMessage(); public abstract void setUnreadMessages(int count) throws DataException; public abstract void fixSeen() throws DataException; public abstract List getMessages(int low, int high) throws DataException, AccessError; public abstract TopicMessageContext getMessage(int number) throws DataException, AccessError; public abstract TopicMessageContext postNewMessage(long parent, String pseud, String text) throws DataException, AccessError; public abstract HTMLChecker getPreviewChecker(); public abstract boolean canDelete(); public abstract void delete() throws DataException, AccessError; public abstract List getActivePosters(int skip, int limit) throws DataException, AccessError; public abstract List getActivePosters(int limit) throws DataException, AccessError; public abstract List getActivePosters() throws DataException, AccessError; public abstract List getActiveReaders(int skip, int limit) throws DataException, AccessError; public abstract List getActiveReaders(int limit) throws DataException, AccessError; public abstract List getActiveReaders() throws DataException, AccessError; public abstract boolean isBozo(int other_uid) throws DataException; public abstract void setBozo(int other_uid, boolean bozo) throws DataException; public abstract boolean canSetBozo(int other_uid); public abstract List getBozos() throws DataException; public abstract boolean isSubscribed(); public abstract void setSubscribed(boolean flag) throws DataException; public abstract void sendInvitation(String address, String personal_message) throws AccessError, DataException, EmailException; public abstract boolean canSendInvitation(); public abstract void sendMailToParticipants(boolean posters, int day_limit, String subject, String text) throws AccessError, DataException; } // end interface TopicContext