/* * Copyright (C) 2003-2010 eXo Platform SAS. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Affero General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, see<http://www.gnu.org/licenses/>. */ package org.exoplatform.social.core.activity.model; /** * ExoSocialActivity interface extends {@link org.apache.shindig.social.opensocial.model.Activity}}. * * @author <a href="http://hoatle.net">hoatle (hoatlevan at gmail dot com)</a> * @since Nov 9, 2010 * @since 1.2.0-GA */ public interface ExoSocialActivity extends org.apache.shindig.social.opensocial.model.Activity { /** * The Constant label comment. */ String IS_COMMENT = "IS_COMMENT"; /** * Gets activity stream associated with this activity. * * @return ActivityStream */ ActivityStream getActivityStream(); /** * Sets activity stream associated with this activity. * * @param as the activity stream */ void setActivityStream(ActivityStream as); /** * To indicate if this a comment to an activity. * * @return true if this is a comment or false */ boolean isComment(); /** * To indicate if this a comment to an activity. * * @param isCommentOrNot to know if this is a comment */ void isComment(boolean isCommentOrNot); /** * The type of activity, this can be used for displaying activity with * different ui components. * * @return the type of activity */ String getType(); /** * The type of activity, this can be used for displaying activity with * different ui components. * * @param activityType the type of activity */ void setType(String activityType); /** * Gets reply to identity id. * * @return the corresponding identity id */ String[] getReplyToId(); /** * Sets reply to identity id. * * @param replyToId the identity id */ void setReplyToId(String[] replyToId); /** * To know if this is a hidden activity. * * @return true or false */ boolean isHidden(); /** * Sets to indicate if this is a hidden activity or not. * * @param isHiddenOrNot true or false */ void isHidden(boolean isHiddenOrNot); /** * Gets array of identityIds who like this activity. * * @return array of identityIds */ String[] getLikeIdentityIds(); /** * Sets array of identityIds who like this activity. * * @param identityIds array of identity Ids */ void setLikeIdentityIds(String[] identityIds); /** * Gets the stream owner, must be the remoteId of an identity. * * @return the stream owner */ String getStreamOwner(); /** * Sets the stream owner, must be the remoteId of an identity. * * @param so the stream owner */ void setStreamOwner(String so); /** * The uuid of the node for this stream. * * @return stream id */ String getStreamId(); /** * The uuid of the node for this stream. * * @param streamId the stream id */ void setStreamId(String streamId); /** * Gets the name; could be the name of the doc, the name of jira task or the * page title. * * @return the name */ String getName(); /** * Sets the name; could be the name of the doc, the name of jira task or the * page title. * * @param name the name */ void setName(String name); /** * This string value provides a human readable description or summary of the * activity object. * * @return the activity summary */ String getSummary(); /** * Sets activity summary. * * @param summary the activity summary */ void setSummary(String summary); /** * Gets the permanent link. * <p/> * Could be the link to the doc, the jira task, or the link * * @return a permalink string, possibly null */ String getPermaLink(); /** * Sets the permanent link. Could be the link to the doc, the jira task, or * the link * * @param permaLink the permalink link */ void setPermanLink(String permaLink); }