Oracle® Collaboration Suite Workspaces API Reference
10g Release 1 (10.1.2)

B25479-01


oracle.workspaces.resource.discussion
Class CwBoard

java.lang.Object
  extended byoracle.workspaces.resource.CwResourceItem
      extended byoracle.workspaces.resource.discussion.CwBoard

All Implemented Interfaces:
CwAttachmentEnabled, CwEntity, CwExceptionConstants

public class CwBoard
extends CwResourceItem
implements CwExceptionConstants

This is the counterpart of Threaded Discussion Board in the context of a workspace. Note that CwBoardProperties contains the TdBoard reference. This class and CwBoardProperties together act as a "decorator" which wraps the functionality of the underlying TdBoard instance.


Field Summary
static int ALLOW_BOARD_EDIT_DELETE
Policy constant allowing board edit/delete on any messages.
static int BOARD_EDIT_DELETE_ONLY_NO_REPLY
Policy constant allowing board edit/delete only on messages with no replies.
static int EMAIL_INBOUND_NONE
Policy constant prohibiting inbound email to a board.
static int EMAIL_INBOUND_OPEN
Policy constant allowing inbound email to a board for any user.
static int EMAIL_INBOUND_RESTRICTED
Policy constant allowing inbound email to a board only for users with write access to the board.
static int NO_BOARD_EDIT_DELETE
Policy constant prohibiting board edit/delete.

Fields inherited from interface oracle.workspaces.exmsgs.CwExceptionConstants
CW_ADD_NONPARENTMEMBER_TO_SUBWSPC, CW_ANNOUNCEMENT_NOT_FOUND, CW_ASSERTION_ERROR, CW_ASSOCIATION_NOT_FOUND, CW_ATTACHMENT_ARRAY_PARAMS_MISMATCH, CW_ATTACHMENTS_CONTAINER_ERROR, CW_ATTR_SYNTAX_VIOLATION_BODY, CW_ATTR_SYNTAX_VIOLATION_DESCRIPTION, CW_ATTR_SYNTAX_VIOLATION_DISPLAY_NAME, CW_ATTR_SYNTAX_VIOLATION_HOSTNAME, CW_ATTR_SYNTAX_VIOLATION_LOCATION, CW_ATTR_SYNTAX_VIOLATION_NAME, CW_ATTR_SYNTAX_VIOLATION_NON_ASCII_NAME, CW_ATTR_SYNTAX_VIOLATION_NON_ASCII_WORKSPACE_NAME, CW_ATTR_SYNTAX_VIOLATION_PATH, CW_ATTR_SYNTAX_VIOLATION_PORT, CW_ATTR_SYNTAX_VIOLATION_TITLE, CW_ATTR_SYNTAX_VIOLATION_WHITESPACE, CW_ATTR_VAL_INVALID_DISPLAYNAME_DUPLICATION, CW_ATTR_VAL_INVALID_NAME_DUPLICATION, CW_ATTR_VAL_INVALID_NAME_MISSING, CW_ATTR_VAL_INVALID_RSRC_TYPE_DUPLICATION, CW_ATTR_VAL_INVALID_RSRC_TYPE_MISSING, CW_ATTR_VAL_INVALID_TOKEN_NAME_BODY_EXST, CW_ATTR_VAL_INVALID_TOKEN_NAME_BODY_NEW, CW_ATTR_VAL_INVALID_TOKEN_NAME_BODY_REM, CW_ATTR_VAL_INVALID_TOKEN_NAME_BODY_RMV, CW_ATTR_VAL_INVALID_TOKEN_NAME_SUB_EXST, CW_ATTR_VAL_INVALID_TOKEN_NAME_SUB_NEW, CW_ATTR_VAL_INVALID_TOKEN_NAME_SUB_REM, CW_ATTR_VAL_INVALID_TOKEN_NAME_SUB_RMV, CW_CALENDAR_ATLEAST_ONE_ATTENDEE, CW_CALENDAR_ATTENDEE_NOT_FOUND, CW_CALENDAR_CANNOT_BOOK_ATTENDEE_EXCEPTION, CW_CALENDAR_CONFIGURATION_EXCEPTION, CW_CALENDAR_CORRUPTED_EXCEPTION, CW_CALENDAR_CREATE_WEBCONF_PAST_EXCEPTION, CW_CALENDAR_EVENT_ALREADY_EXIST, CW_CALENDAR_EVENT_NOT_FOUND, CW_CALENDAR_HANDLE_BAD_EXCEPTION, CW_CALENDAR_INTERNAL_EXCEPTION, CW_CALENDAR_ITEM_NOT_FOUND, CW_CALENDAR_PROVISION_EXCEPTION, CW_CALENDAR_QUOTA_LIMIT_EXCEPTION, CW_CALENDAR_SESSION_INVALID, CW_CALENDAR_SESSION_INVALID_WITH_WARNING, CW_CALENDAR_TASK_ALREADY_EXIST, CW_CALENDAR_TASK_NOT_FOUND, CW_CALENDAR_UNAVAILABLE_EXCEPTION, CW_CALENDAR_UNSUPPORTED_FOR_REGULAR, CW_CALENDAR_UNSUPPORTED_FOR_REPEATING, CW_CALENDAR_UNSUPPORTED_FOR_TYPE, CW_CANNOT_EDIT_READ_ONLY, CW_CANNOT_REASSIGN_WORKSPACE_OWNER_ROLE, CW_CONFIGURATION_PROPERTY_NOT_FOUND, CW_COULD_NOT_CREATE_CONTENT_SERVICES_CW_ADMIN, CW_DB_CONNECTION_ERROR, CW_DB_EXEC_INTERNAL_ERROR, CW_DEFAULT_PROPERTIES_FILE_CANNOT_BE_LOADED, CW_DEFAULT_WORKSPACE_TEMPLATE_CANNOT_BE_DELETED, CW_DELETE_WORKSPACE_OWNER, CW_DELETE_WORKSPACE_WITH_CHILDREN, CW_DELETE_WORKSPACE_WITH_RESOURCE, CW_DISC_AND_EMAIL_UNAVAILABLE_EXCEPTION, CW_DISCUSSION_CORRUPTED_EXCEPTION, CW_DISCUSSION_EXCEPTION_NO_ERRCODE, CW_DISCUSSION_INTERNAL_EXCEPTION, CW_DISCUSSION_ITEM_ALREADY_EXIST, CW_DISCUSSION_ITEM_NOT_FOUND, CW_DISCUSSION_ITEM_NOT_FOUND_NOARG, CW_DISCUSSION_UNSUPPORTED_PROPERTY, CW_DISCUSSIONS_EMAIL_GUEST_CANNOT_CREATE_RESOURCE, CW_DUPLICATE_ATTACHMENT, CW_DUPLICATE_WS_TEMPLATE_NAME, CW_DUPLICATED_MEMBER_SUPPLIED, CW_EMAIL_CORRUPTED_EXCEPTION, CW_EMAIL_EXCEPTION_NO_ERRCODE, CW_EMAIL_INTERNAL_EXCEPTION, CW_EMAIL_SESSION_INVALID_WITH_WARNING, CW_EXTERNAL_MEMBER_SUPPLIED, CW_FILES_ACCESS_DENIED, CW_FILES_CANNOT_DELETE_ONLY_VERSION, CW_FILES_CANNOT_LOCK_FOLDERS, CW_FILES_CANNOT_OVERRIDE_FINAL_PARENT, CW_FILES_CORRUPTED_EXCEPTION, CW_FILES_FEATURE_DISABLED, CW_FILES_FILE_IS_NOT_CHECKED_OUT, CW_FILES_HTTP_EXCEPTION, CW_FILES_HTTP_LOCKED_EXCEPTION, CW_FILES_INTERNAL_EXCEPTION, CW_FILES_ITEM_ALREADY_EXIST, CW_FILES_ITEM_ALREADY_LOCKED, CW_FILES_ITEM_NOT_FOUND, CW_FILES_MAX_CONCURRENT_OPS_EXCEEDED, CW_FILES_MEMBER_NOT_FOUND, CW_FILES_OPERATION_NOT_ALLOWED_IN_TRASH, CW_FILES_OVER_QUOTA, CW_FILES_SERVER_CONNECTION_LOST, CW_FILES_SESSION_INVALID_WITH_WARNING, CW_FILES_SHARED_FOLDER_NOT_FOUND, CW_FILES_UNAVAILABLE_EXCEPTION, CW_FILES_UNSUPPORTED_NEW_TRASH_ITEM, CW_FILES_UNSUPPORTED_TRASH_LOCK, CW_FILES_VERSIONING_DISABLED, CW_GET_OCS_USER_ERROR, CW_HTTP_INTERNAL_ERROR, CW_HTTP_UNAUTHORIZED_ERROR, CW_HTTP_UNSUPPORTED_AUTH_SCHEME_ERROR, CW_HTTP_UNSUPPORTED_METHOD_ERROR, CW_IMMUTABLE_UNSUPPORTED_OPERATION, CW_INTERNAL_OP_ERROR, CW_INVALID_CONTENT_SERVICES_ADMINISTRATOR, CW_INVALID_CONTENT_SERVICES_CONTAINER_NAME, CW_INVALID_RECIPIENT_EMAIL_ADDRESS, CW_INVALID_SEARCH_CONTAINER, CW_INVALID_SEARCH_ROOT_ENTITY, CW_INVALID_TEMPLATE_SYNTAX, CW_INVALID_USER_EMAIL, CW_INVALID_WS_METADATA_SEARCH_QUERY, CW_IO_INTERNAL_ERROR, CW_LDAP_ATTRIBUTE_ALREADY_EXIST, CW_LDAP_ATTRIBUTE_ALREADY_EXIST_NOARG, CW_LDAP_ATTRIBUTE_NOT_FOUND, CW_LDAP_ATTRIBUTE_NOT_FOUND_NOARG, CW_LDAP_COMMUNICATION_ERROR, CW_LDAP_CONNECTION_ERROR, CW_LDAP_ENTRY_ALREADY_EXIST, CW_LDAP_ENTRY_ALREADY_EXIST_NOARG, CW_LDAP_ENTRY_NOT_FOUND, CW_LDAP_ENTRY_NOT_FOUND_NOARG, CW_LDAP_EXEC_INTERNAL_ERROR, CW_LDAP_GROUP_ALREADY_EXIST, CW_LDAP_GROUP_NOT_FOUND, CW_LDAP_GROUP_NOT_FOUND_NOARG, CW_LDAP_MEMBER_ALREADY_EXIST, CW_LDAP_MEMBER_NOT_FOUND, CW_LDAP_MEMBER_NOT_FOUND_WSNAME_ONLY, CW_LDAP_MISSING_SEARCHBASE_ERROR, CW_LDAP_MISSING_SUBSCRIBER_ERROR, CW_LDAP_USER_NOT_FOUND, CW_LDAP_USER_NOT_FOUND_NOARG, CW_LDAP_WORKSPACE_ALREADY_EXIST, CW_LDAP_WORKSPACE_NOT_FOUND, CW_LDAP_WORKSPACE_NOT_FOUND_NOARG, CW_MEMBER_ALREADY_EXIST, CW_MEMBER_ALREADY_EXIST_NOARG, CW_MEMBER_MGMT_ATTRIBUTE_ERROR, CW_MEMBER_MGMT_MAX_NUMBER_EXCEEDED, CW_MEMBER_NOT_FOUND, CW_MULTIPLE_VIRTUAL_SERVICE_AVAILABLE, CW_NOT_AUTHORIZED, CW_NOT_AUTHORIZED_WORKSPACE_SETTING, CW_NULL_WORKSPACE_PATH, CW_OPERATION_INSTANCE_NOT_FOUND, CW_OPERATION_INSTANCE_NOT_FOUND_NOARG, CW_PARENT_ENTITY_FOUND, CW_PERMISSION_NAME_INVALID, CW_PRIV_MGMT_SELF, CW_PROPERTIES_NULL, CW_PROPERTY_NOT_FOUND, CW_RESERVED_TEMPLATE_CATEGORY, CW_RESOURCE_ALREADY_EXIST, CW_RESOURCE_ATTR_RSRC_TYPE_MISMATCH, CW_RESOURCE_ATTR_VAL_INVALID, CW_RESOURCE_ATTR_VAL_INVALID_RSRC_TYPE_MOIDIFICATION, CW_RESOURCE_ATTR_VAL_INVALID_UID_MOIDIFICATION, CW_RESOURCE_CONTAINS_ATTACHMENT, CW_RESOURCE_NOT_CONFIGURED, CW_RESOURCE_NOT_FOUND, CW_RESOURCE_NOT_FOUND_NO_WSPC, CW_RESOURCE_NOT_FOUND_NOARG, CW_RESOURCE_NOT_INITIALIZED, CW_RESOURCE_NOT_INSTALLED, CW_RESOURCE_NOT_PROVISION_EXCEPTION_WITH_STATUS, CW_RESOURCE_NOT_PROVISION_EXCEPTION_WITHOUT_STATUS, CW_RESOURCE_STATUS_NOT_SUPPORT_IN_RECOVERY, CW_RESOURCE_STATUS_UNACCESSIBLE, CW_ROLE_NOT_FOUND, CW_RSRC_ITEM_INVALID_DESC, CW_RSRC_ITEM_INVALID_NAME, CW_RSRC_ITEM_INVALID_PERCENT, CW_RSRC_ITEM_INVALID_SECURE_CONTENT_GRANTEE, CW_RSRC_ITEM_INVALID_SECURE_CONTENT_PERMISSION, CW_RSRC_ITEM_PARSING_ERROR, CW_RTC_SESSION_INVALID_WITH_WARNING, CW_SEARCH_INTERNAL_EXCEPTION, CW_SEARCH_INVALID_QUERY, CW_SEARCHLET_CONNECTION_EXCEPTION, CW_SEARCHLET_EXEC_EXCEPTION, CW_SEARCHLET_INIT_EXCEPTION, CW_SEARCHLET_JNDI_EXCEPTION, CW_SEARCHLET_USER_CONTEXT_EXCEPTION, CW_SERVICE_CONFIGURATION_ERROR, CW_SERVICE_UNINIT_ERROR, CW_SERVICE_UNINT_WSPC_MGRS, CW_SESSION_INVALID, CW_SESSION_NULL, CW_SUBGROUP_ALREADY_EXIST, CW_SUBGROUP_NOT_FOUND, CW_SUBGROUP_NOT_FOUND_NOARG, CW_SYSTEM_BUSY_EXCEPTION, CW_TEMPLATE_CONTENT_LOCATION_NOT_FOUND, CW_UID_NOT_IN_WORKSPACE, CW_UNSUPPORTED_SEARCH_ROOT_DESCRIPTOR, CW_UNSUPPORTED_SEARCH_TYPE, CW_VIEW_NOT_FOUND, CW_VIRTUAL_SERVICE_ATTRIBUTE_NOT_FOUND, CW_VIRTUAL_SERVICE_NOT_FOUND, CW_VIRTUAL_SERVICE_TYPE_NOT_FOUND, CW_WEBCONF_INTERNAL_EXCEPTION, CW_WORKSPACE_ALREADY_EXIST, CW_WORKSPACE_ATTR_VAL_INVALID, CW_WORKSPACE_BUSY_EXCEPTION, CW_WORKSPACE_CREATION_PARTIAL_SUCCESS, CW_WORKSPACE_DELETION_PARTIAL_SUCCESS, CW_WORKSPACE_DOES_NOT_NEED_RECOVERY, CW_WORKSPACE_NEED_RECOVERY, CW_WORKSPACE_NEED_RECOVERY_ARG, CW_WORKSPACE_NOT_EMPTY, CW_WORKSPACE_NOT_FOUND, CW_WORKSPACE_NOT_FOUND_NOARG, CW_WORKSPACE_NOT_MATCH, CW_WORKSPACE_ROLE_NAME_INVALID, CW_WORKSPACE_ROLE_NOT_MATCH, CW_WORKSPACE_SHARED_FOLDER_MEMBERSHIP_MISMATCH, CW_WORKSPACE_TEMPLATE_NOT_FOUND, CW_XML_INTERNAL_ERROR, ITEM_CREATED_PROPS_UPDATE_FAILED, OPERATION_SUCCESSFUL_WITH_ERRORS, WORKSPACES

Method Summary
CwMessage createMessage(CwMessageDefinition messageDef)
Post a message represented by the specified message definition to this board.
void deleteThread(CwUid threadUid)
Delete the thread specified by the given CwUid.
void deleteThreads(CwUid[] threadUids)
Delete the threads specified by the given CwUids.
CwThreadIterator getFavoriteThreads()
Returns an iterator over this user's favorite threads within the scope of this board.
CwThreadIterator getPopularThreads()
Returns an iterator over the popular threads within the scope of this board.
CwThread getThreadByUid(CwUid threadUid)
Given a CwUid which represents a thread, retrieve and return the corresponding CwThread object.
CwThreadIterator getThreads()
Return an iterator over all of the CwThreads in this board.
CwThreadIterator getThreads(int iStartIndex, boolean bSortByCreationDate, boolean bAscending)
Return an iterator over the specified CwThreads in this board.
CwUid getUid()
Returns the CwUid associated with this board.
boolean isNew()
Returns true if this board is new to the user.
boolean isNew(java.util.Date date)
Returns true if this board is new to the user since the specified date.
boolean isUnread()
Returns true if and only if getLastModifiedTime() > getLastAccessTime().
boolean isUnread(java.util.Date startTime)
Returns true if and only if isUnread() and getLastModifiedTime() > startTime.
CwSearchResultIterator search(java.lang.String szQuery, java.lang.String szUsername, java.util.Date startDate, java.util.Date endDate)
Search the board for messages that match the specified criteria.

Methods inherited from class oracle.workspaces.resource.CwResourceItem
addAttachments, getProperties, getResource, getWorkspace, listAllAttachments, listAllAttachmentsByType, listAttachments, listAttachmentsByType, listSourceAttachments, listSourceAttachmentsByType, removeAttachments, removeAttachments, storeProperties, supportsCreatedTime, updateAttachments, updateAttachments

Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

ALLOW_BOARD_EDIT_DELETE

public static final int ALLOW_BOARD_EDIT_DELETE
Policy constant allowing board edit/delete on any messages.
See Also:
Constant Field Values

BOARD_EDIT_DELETE_ONLY_NO_REPLY

public static final int BOARD_EDIT_DELETE_ONLY_NO_REPLY
Policy constant allowing board edit/delete only on messages with no replies.
See Also:
Constant Field Values

EMAIL_INBOUND_NONE

public static final int EMAIL_INBOUND_NONE
Policy constant prohibiting inbound email to a board.
See Also:
Constant Field Values

EMAIL_INBOUND_OPEN

public static final int EMAIL_INBOUND_OPEN
Policy constant allowing inbound email to a board for any user.
See Also:
Constant Field Values

EMAIL_INBOUND_RESTRICTED

public static final int EMAIL_INBOUND_RESTRICTED
Policy constant allowing inbound email to a board only for users with write access to the board.
See Also:
Constant Field Values

NO_BOARD_EDIT_DELETE

public static final int NO_BOARD_EDIT_DELETE
Policy constant prohibiting board edit/delete.
See Also:
Constant Field Values

Method Detail

createMessage

public CwMessage createMessage(CwMessageDefinition messageDef)
                        throws CwException
Post a message represented by the specified message definition to this board. If the message definition specifies a new message, it will become the start of a new thread. If the message definition specifies a reply to a pre-existing message, it will become part of that message's thread.
Returns:
the new CwMessage
Throws:
CwException

deleteThread

public void deleteThread(CwUid threadUid)
                  throws CwException
Delete the thread specified by the given CwUid.
Throws:
CwAttrValException - if the CwUid is not a thread Uid.
CwException

deleteThreads

public void deleteThreads(CwUid[] threadUids)
                   throws CwException
Delete the threads specified by the given CwUids.
Throws:
CwAttrValException - if any CwUid is not a thread Uid.
CwException

getFavoriteThreads

public CwThreadIterator getFavoriteThreads()
                                    throws CwException
Returns an iterator over this user's favorite threads within the scope of this board.
Throws:
CwException

getPopularThreads

public CwThreadIterator getPopularThreads()
                                   throws CwException
Returns an iterator over the popular threads within the scope of this board.
Throws:
CwException

getThreadByUid

public CwThread getThreadByUid(CwUid threadUid)
                        throws CwException
Given a CwUid which represents a thread, retrieve and return the corresponding CwThread object.
Throws:
CwAttrValException - if the CwUid is not a thread Uid.
CwObjectNotFoundException - if the object does not exist.
CwResourceCorruptedException - if the resource mapping has been corrupted for this user.
CwException

getThreads

public CwThreadIterator getThreads()
                            throws CwException
Return an iterator over all of the CwThreads in this board. By default, the threads will be sorted by last post date in descending order.
Throws:
CwException

getThreads

public CwThreadIterator getThreads(int iStartIndex,
                                   boolean bSortByCreationDate,
                                   boolean bAscending)
                            throws CwException
Return an iterator over the specified CwThreads in this board.
Parameters:
iStartIndex - the index of the first thread to return in the iterator; 0 for all threads
bSortByCreationDate - if true, will sort threads by creation date rather than by last posting date
bAscending - if true, will sort in ascending rather than descending order
Returns:
an array of CwThread objects which may be empty; will never return null
Throws:
CwException

getUid

public CwUid getUid()
Returns the CwUid associated with this board.
Overrides:
getUid in class CwResourceItem

isNew

public boolean isNew()
              throws CwException
Returns true if this board is new to the user.
Specified by:
isNew in interface CwEntity
Overrides:
isNew in class CwResourceItem
Throws:
CwException

isNew

public boolean isNew(java.util.Date date)
              throws CwException
Returns true if this board is new to the user since the specified date.
Specified by:
isNew in interface CwEntity
Overrides:
isNew in class CwResourceItem
Throws:
CwException

isUnread

public boolean isUnread()
                 throws CwException
Returns true if and only if getLastModifiedTime() > getLastAccessTime().
Specified by:
isUnread in interface CwEntity
Overrides:
isUnread in class CwResourceItem
Throws:
CwException

isUnread

public boolean isUnread(java.util.Date startTime)
                 throws CwException
Returns true if and only if isUnread() and getLastModifiedTime() > startTime.
Specified by:
isUnread in interface CwEntity
Overrides:
isUnread in class CwResourceItem
Throws:
CwException

search

public CwSearchResultIterator search(java.lang.String szQuery,
                                     java.lang.String szUsername,
                                     java.util.Date startDate,
                                     java.util.Date endDate)
                              throws CwException
Search the board for messages that match the specified criteria. The query string is matched against the subject of the message and the message body. The other fields can be used to restrict the search to messages posted by a specific user (szUsername) or within a certain time range (startDate, endDate). Attachment matching may or may not occur depending on TD server settings.
Throws:
CwException

Copyright © 2001, 2005, Oracle. All rights reserved.