org.sakaiproject.service.legacy.discussion
Interface DiscussionService

All Superinterfaces:
EntityProducer, MessageService
All Known Implementing Classes:
BaseDiscussionService

public interface DiscussionService
extends MessageService

DiscussionService is the extension to MessageService configured for Discussions.

MessageChannels are DiscussionMessageChannels, and Messages are DiscussionMessages with DiscussionMessageHeaders.

Security in the discussion service, in addition to that defined in the channels, include:

  • discussion.channel.remove
  • Usage Events are generated:

    Version:
    $Revision: 2371 $
    Author:
    University of Michigan, CHEF Software Development Team
    See Also:
    org.chefproject.core.DiscussionChannel

    Nested Class Summary
     
    Nested classes inherited from class org.sakaiproject.service.legacy.entity.EntityProducer
    EntityProducer.ChangeType
     
    Field Summary
    static String REFERENCE_ROOT
              This string starts the references to resources in this service.
    static String SECURE_ADD_TOPIC
              Security lock for posting topic messages to a channel.
    static String SERVICE_NAME
              This string can be used to find the service in the service manager.
     
    Fields inherited from interface org.sakaiproject.service.legacy.message.MessageService
    REF_TYPE_CHANNEL, REF_TYPE_CHANNEL_GROUPS, REF_TYPE_MESSAGE, SECURE_ADD, SECURE_ALL_GROUPS, SECURE_READ, SECURE_READ_DRAFT, SECURE_REMOVE_ANY, SECURE_REMOVE_OWN, SECURE_UPDATE_ANY, SECURE_UPDATE_OWN
     
    Method Summary
     DiscussionChannelEdit addDiscussionChannel(String ref)
              A (DiscussionChannel) cover for addChannel() to add a new discussion channel.
     DiscussionChannel getDiscussionChannel(String ref)
              A (DiscussionChannel) cover for getChannel() to return a specific discussion channel.
     
    Methods inherited from interface org.sakaiproject.service.legacy.message.MessageService
    addChannel, allowAddChannel, allowEditChannel, allowGetChannel, allowRemoveChannel, cancelChannel, cancelMessage, channelReference, commitChannel, editChannel, getChannel, getChannelIds, getChannels, getMessage, getMessages, messageReference, messageReference, removeChannel
     
    Methods inherited from interface org.sakaiproject.service.legacy.entity.EntityProducer
    archive, getEntity, getEntityAuthzGroups, getEntityDescription, getEntityResourceProperties, getEntityUrl, getHttpAccess, getLabel, importEntities, merge, parseEntityReference, syncWithSiteChange, willArchiveMerge, willImport
     

    Field Detail

    SERVICE_NAME

    public static final String SERVICE_NAME
    This string can be used to find the service in the service manager.


    REFERENCE_ROOT

    public static final String REFERENCE_ROOT
    This string starts the references to resources in this service.

    See Also:
    Constant Field Values

    SECURE_ADD_TOPIC

    public static final String SECURE_ADD_TOPIC
    Security lock for posting topic messages to a channel.

    See Also:
    Constant Field Values
    Method Detail

    getDiscussionChannel

    public DiscussionChannel getDiscussionChannel(String ref)
                                           throws IdUnusedException,
                                                  PermissionException
    A (DiscussionChannel) cover for getChannel() to return a specific discussion channel.

    Parameters:
    ref - The channel reference.
    Returns:
    the DiscussionChannel that has the specified name.
    Throws:
    IdUnusedException - If this name is not defined for a discussion channel.
    PermissionException - If the user does not have any permissions to the channel.

    addDiscussionChannel

    public DiscussionChannelEdit addDiscussionChannel(String ref)
                                               throws IdUsedException,
                                                      IdInvalidException,
                                                      PermissionException
    A (DiscussionChannel) cover for addChannel() to add a new discussion channel.

    Parameters:
    ref - The channel reference.
    Returns:
    The newly created channel.
    Throws:
    IdUsedException - if the id is not unique.
    IdInvalidException - if the id is not made up of valid characters.
    PermissionException - if the user does not have permission to add a channel.