/*
* 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