wsdor/src/main/java/cz/xelfi/quoridor/webidor/Note.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Sat, 11 Sep 2010 17:04:51 +0200
changeset 256 1758a7727278
parent 115 webidor/src/main/java/cz/xelfi/quoridor/webidor/Note.java@6a80463a74c0
child 266 15fcdfc4cd4a
permissions -rw-r--r--
Splitting classes representing data types on the server into own module
jaroslav@115
     1
package cz.xelfi.quoridor.webidor;
jaroslav@115
     2
jaroslav@115
     3
import java.util.Date;
jaroslav@115
     4
import javax.xml.bind.annotation.XmlAccessType;
jaroslav@115
     5
import javax.xml.bind.annotation.XmlAccessorType;
jaroslav@115
     6
import javax.xml.bind.annotation.XmlAttribute;
jaroslav@115
     7
import javax.xml.bind.annotation.XmlValue;
jaroslav@115
     8
jaroslav@115
     9
/**
jaroslav@115
    10
 *
jaroslav@115
    11
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jaroslav@115
    12
 */
jaroslav@115
    13
@XmlAccessorType(XmlAccessType.FIELD)
jaroslav@115
    14
public class Note {
jaroslav@115
    15
    @XmlValue
jaroslav@115
    16
    private String comment;
jaroslav@115
    17
    @XmlAttribute
jaroslav@115
    18
    private Date when;
jaroslav@115
    19
    @XmlAttribute
jaroslav@115
    20
    private String who;
jaroslav@115
    21
jaroslav@115
    22
    private Note() {
jaroslav@115
    23
    }
jaroslav@115
    24
jaroslav@115
    25
    public Note(String comment, Date when, String who) {
jaroslav@115
    26
        this.comment = comment;
jaroslav@115
    27
        this.when = new Date(when.getTime());
jaroslav@115
    28
        this.who = who;
jaroslav@115
    29
    }
jaroslav@115
    30
jaroslav@115
    31
    public String getComment() {
jaroslav@115
    32
        return comment;
jaroslav@115
    33
    }
jaroslav@115
    34
jaroslav@115
    35
    public Date getWhen() {
jaroslav@115
    36
        return (Date) when.clone();
jaroslav@115
    37
    }
jaroslav@115
    38
jaroslav@115
    39
    public String getWho() {
jaroslav@115
    40
        return who;
jaroslav@115
    41
    }
jaroslav@115
    42
jaroslav@115
    43
    @Override
jaroslav@115
    44
    public String toString() {
jaroslav@115
    45
        return "Note[" + who + "@" + when + ": " + comment + "]";
jaroslav@115
    46
    }
jaroslav@115
    47
jaroslav@115
    48
    @Override
jaroslav@115
    49
    public boolean equals(Object obj) {
jaroslav@115
    50
        if (obj == null) {
jaroslav@115
    51
            return false;
jaroslav@115
    52
        }
jaroslav@115
    53
        if (getClass() != obj.getClass()) {
jaroslav@115
    54
            return false;
jaroslav@115
    55
        }
jaroslav@115
    56
        final Note other = (Note) obj;
jaroslav@115
    57
        if ((this.comment == null) ? (other.comment != null) : !this.comment.equals(other.comment)) {
jaroslav@115
    58
            return false;
jaroslav@115
    59
        }
jaroslav@115
    60
        if (this.when != other.when && (this.when == null || !this.when.equals(other.when))) {
jaroslav@115
    61
            return false;
jaroslav@115
    62
        }
jaroslav@115
    63
        if ((this.who == null) ? (other.who != null) : !this.who.equals(other.who)) {
jaroslav@115
    64
            return false;
jaroslav@115
    65
        }
jaroslav@115
    66
        return true;
jaroslav@115
    67
    }
jaroslav@115
    68
jaroslav@115
    69
    @Override
jaroslav@115
    70
    public int hashCode() {
jaroslav@115
    71
        int hash = 7;
jaroslav@115
    72
        hash = 59 * hash + (this.comment != null ? this.comment.hashCode() : 0);
jaroslav@115
    73
        hash = 59 * hash + (this.when != null ? this.when.hashCode() : 0);
jaroslav@115
    74
        hash = 59 * hash + (this.who != null ? this.who.hashCode() : 0);
jaroslav@115
    75
        return hash;
jaroslav@115
    76
    }
jaroslav@115
    77
jaroslav@115
    78
jaroslav@115
    79
}