/********************************************************************************** * $URL: https://source.sakaiproject.org/contrib/syracuse/taggable/branches/oncourse_osp_enhancements/taggable-api/api/src/java/org/sakaiproject/taggable/api/TaggableItem.java $ * $Id: TaggableItem.java 10548 2007-07-06 19:51:40Z jmpease@syr.edu $ *********************************************************************************** * * Copyright (c) 2006, 2007, 2008 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.taggable.api; import java.util.Date; /** * An object related to a tagged activity. For example, when tagging an * assignment, the items would be submissions for the assignment. * * @author The Sakai Foundation. */ public interface TaggableItem { /** * Method to get the base object that is wrapped as an item. * * @return The base object. */ public Object getObject(); /** * @return A reference for this item. */ public String getReference(); /** * @return A title for this item. */ public String getTitle(); /** * @return The content of this item. */ public String getContent(); /** * @return The identifier of the user that created/owns this item. */ public String getUserId(); /** * @return The activity to which this item belongs. */ public TaggableActivity getActivity(); /** * Get the url that will render detail information about the item * @return */ public String getItemDetailUrl(); /** * Get the url that will render private (name is hidden, etc) detail information about the item * @return */ public String getItemDetailPrivateUrl(); /** * Get the params that will be added to the item's url * @return */ public String getItemDetailUrlParams(); /** * Get the url for the icon that will represent this item * @return */ public String getIconUrl(); /** * Determine if decorating the itemDetailUrl is necessary * @return */ public boolean getUseDecoration(); /** * Get the display name of the owner of this object * @return */ public String getOwner(); /** * Get the site title of the site where this object lives * @return */ public String getSiteTitle(); /** * Get the item's last modification date * @return */ public Date getLastModifiedDate(); /** * Get the type name of the item * @return */ public String getTypeName(); }