/*
 * Copyright (C) 2003-2011 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.client.api.model;

/**
 * eXo Social Comment.
 *
 * @author <a href="http://hoatle.net">hoatle (hoatlevan at gmail dot com)</a>
 * @since May 19, 2011
 */
public interface Comment extends Model {
  /**
   * Gets the activity is associated with this comment.
   *
   * @return the activity
   */
  Activity getActivity();

  /**
   * Gets the identity who commented.
   *
   * @return the identity
   */
  Identity getIdentity();
}

@@ -926,16 +926,2248 @@
 Model %7B%0A
+%0A  /**%0A   * The fields that represent the Comment object in json form.%0A   *%0A   * %3Cp%3E%0A   * All of the fields that comments can have.%0A   * %3C/p%3E%0A   *%0A   */%0A  public static enum Field %7B%0A    ID(%22id%22),%0A    /** the json field for userId. */%0A    USER_ID(%22userId%22),%0A    /** the json field for activityId. */%0A    ACTIVITY_ID(%22activityId%22),%0A     /** the json field for streamTitle. */%0A    CONTENT(%22content%22),%0A    /** the json field for postedTime. */%0A    POSTED_TIME(%22postedTime%22);%0A%0A    /**%0A     * The json field that the instance represents.%0A     */%0A    private final String jsonString;%0A%0A    /**%0A     * create a field base on the a json element.%0A     *%0A     * @param jsonString the name of the element%0A     */%0A    private Field(String jsonString) %7B%0A      this.jsonString = jsonString;%0A    %7D%0A%0A    /**%0A     * emit the field as a json element.%0A     *%0A     * @return the field name%0A     */%0A    @Override%0A    public String toString() %7B%0A      return jsonString;%0A    %7D%0A  %7D%0A%0A  /**%0A   * Gets the comment id.%0A   *%0A   * @return the comment id%0A   */%0A  String getId();%0A%0A  /**%0A   * Sets the comment id.%0A   *%0A   * @param id the comment id%0A   */%0A  void setId(String id);%0A%0A  /**%0A   * Gets user id who posted this comment.%0A   *%0A   * @return the user id%0A   */%0A  String getUserId();%0A%0A  /**%0A   * Sets user id who posted this comment.%0A   *%0A   * @param userId the user id%0A   */%0A  void setUserId(String userId);%0A%0A  /**%0A   * Gets the activity id which is associated with this comment.%0A   *%0A   * @return the activity id.%0A   */%0A  String getActivityId();%0A%0A  /**%0A   * Sets the activity which is associated with this comment.%0A   *%0A   * @param activityId the activity id%0A   */%0A  void setActivityId(String activityId);%0A%0A  /**%0A   * Gets the comment content.%0A   *%0A   * @return the comment content.%0A   */%0A  String getContent();%0A%0A  /**%0A   * Sets the comment content.%0A   *%0A   * @param content the comment content%0A   */%0A  void setContent(String content);%0A%0A  /**%0A   * Gets the posted time of this comment as timestamp value.%0A   *%0A   * @return the posted time of this comment%0A   */%0A  Long getPostedTime();%0A%0A  /**%0A   * Sets the posted time of this comment as timestamp value.%0A   *%0A   * @param postedTime the posted time of this comment.%0A   */%0A  void setPostedTime(Long postedTime);%0A%0A
   /**%0A  
@@ -3217,32 +3217,92 @@
 s comment.%0A   *%0A
+   * This must be lazy loading for better performance.%0A   *%0A
    * @return the
@@ -3342,32 +3342,32 @@
 ivity();%0A%0A  /**%0A
-
    * Gets the id
@@ -3385,32 +3385,92 @@
 commented.%0A   *%0A
+   * This must be lazy loading for better performance.%0A   *%0A
    * @return the

Comment APIs: Completed