001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/presentation/tags/sakai_2-4-1/api/src/java/org/sakaiproject/api/app/presentation/Presentation.java $
003: * $Id: Presentation.java 8654 2006-05-02 01:40:40Z ggolden@umich.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2004, 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.api.app.presentation;
021:
022: import java.util.List;
023:
024: import org.osid.shared.Id;
025:
026: /**
027: * The Presentation class allows content to be grouped together in a ordered, linear sequence.
028: * In addition to the list of content slides, a wait slide may be included to be displayed
029: * before the presentation starts. If no wait slide is present, nothing is displayed.
030: *
031: * @author Mark Norton
032: */
033: public interface Presentation extends java.io.Serializable {
034: // This string constants are used to identify properties associated with presentations.
035: public static final String PRESENTATION_TITLE = "org.sakaiproject.tools.presentation.title";
036: public static final String PRESENTATION_AUTHOR = "org.sakaiproject.tools.presentation.author";
037: public static final String PRESENTATION_CREATED = "org.sakaiproject.tools.presentation.created";
038:
039: /**
040: * Get the Id of this presentation.
041: *
042: * @author Mark Norton
043: */
044: public Id getId();
045:
046: /**
047: * Set the Id of this presentation.
048: *
049: * @author Mark Norton
050: */
051: public void setId(Id id);
052:
053: public String getTitle();
054:
055: public String getModificationDate();
056:
057: /**
058: * Return an iterator which lists the slides in this presentation.
059: *
060: * @author Mark Norton
061: */
062: public List getSlides();
063:
064: /**
065: * Return the slide at the given offset.
066: *
067: * @author Mark Norton
068: * @exception Throws INVALID_OFFSET if the offset is less than zero or greater than max.
069: */
070: public Slide getSlide(int offset);
071:
072: /**
073: * Append a slide to the end of the slide list.
074: *
075: * @author Mark Norton
076: */
077: public void addSlide(Slide slide);
078:
079: /**
080: * Get the number of slides in the slide set associated with this presentation.
081: *
082: * @author Mark Norton
083: */
084: public int getSlideCount();
085:
086: /**
087: * Delete the slide at the position given.
088: *
089: * @author Mark Norton
090: * @exception Throws INVALID_OFFSET if the offset is less than zero or greater than max.
091: */
092: public void deleteSlide(int position);
093:
094: /**
095: * Insert a slide at the position given.
096: *
097: * @author Mark Norton
098: * @exception Throws INVALID_OFFSET if the offset is less than zero or greater than max.
099: */
100: public void insertSlide(int position, Slide slide);
101:
102: }
|