Class Comment

java.lang.Object
org.klomp.snark.comments.Comment
All Implemented Interfaces:
Comparable<Comment>

public class Comment extends Object implements Comparable<Comment>
Store a single comment and/or rating. Unmodifiable except for marking as hidden. Stores a one-second timestamp but designed so identical comments within a certain time frame (bucket) are equal. Don't store in a plain set - see equals().
Since:
0.9.31
  • Field Details

  • Constructor Details

    • Comment

      public Comment(String text, String name, int rating)
      My comment, now
      Parameters:
      text - may be null, will be truncated to max length, newlines replaced with spaces
      name - may be null, will be truncated to max length, newlines and commas removed
      rating - 0-5
    • Comment

      public Comment(String text, String name, int rating, long time, boolean isMine)
      Parameters:
      text - may be null, will be truncated to max length, newlines replaced with spaces
      name - may be null, will be truncated to max length, newlines and commas removed
      rating - 0-5
      time - java time (ms)
  • Method Details

    • getText

      public String getText()
    • getName

      public String getName()
    • getRating

      public int getRating()
    • getTime

      public long getTime()
      java time (ms)
    • isMine

      public boolean isMine()
    • isHidden

      public boolean isHidden()
    • setHidden

      void setHidden()
    • getID

      public int getID()
      A unique ID that may be used to delete this comment from the CommentSet via remove(int). NOT persisted across restarts.
    • compareTo

      public int compareTo(Comment c)
      reverse
      Specified by:
      compareTo in interface Comparable<Comment>
    • toPersistentString

      public String toPersistentString()
      Returns:
      time,rating,mine,hidden,name,text
    • fromPersistentString

      public static Comment fromPersistentString(String s)
      Returns:
      null if can't be parsed
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
      Returns:
      bucket number
    • equals

      public boolean equals(Object o)
      Comments within 10 minutes (not necessarily in same bucket) and otherwise equal are considered equal. Violates contract, as equal objects may have different hashcodes and be in adjacent buckets.
      Overrides:
      equals in class Object
    • equalsIgnoreTimestamp

      public boolean equalsIgnoreTimestamp(Comment c)
      Ignores timestamp
      Parameters:
      c - non-null