Package com.github.hakko.musiccabinet.domain.model.aggr

Source Code of com.github.hakko.musiccabinet.domain.model.aggr.Scrobble

package com.github.hakko.musiccabinet.domain.model.aggr;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.joda.time.DateTime;

import com.github.hakko.musiccabinet.domain.model.library.LastFmUser;
import com.github.hakko.musiccabinet.domain.model.music.Track;

public class Scrobble {

  private LastFmUser lastFmUser;
  private Track track;
  private boolean submission;
  private DateTime startTime = new DateTime();

  public Scrobble(LastFmUser lastFmUser, Track track, boolean submission) {
    this.lastFmUser = lastFmUser;
    this.track = track;
    this.submission = submission;
  }
 
  public LastFmUser getLastFmUser() {
    return lastFmUser;
  }

  public Track getTrack() {
    return track;
  }

  public boolean isSubmission() {
    return submission;
  }

  public void setStartTime(DateTime startTime) {
    this.startTime = startTime;
  }

  public DateTime getStartTime() {
    return startTime;
  }
 
  @Override
  public int hashCode() {
    return new HashCodeBuilder()
    .append(lastFmUser)
    .append(track.getId())
    .append(startTime)
    .toHashCode();
  }

  @Override
  public boolean equals(Object o) {
    if (o == null) return false;
    if (o == this) return true;
    if (o.getClass() != getClass()) return false;

    Scrobble s = (Scrobble) o;
    return new EqualsBuilder()
    .append(lastFmUser, s.lastFmUser)
    .append(track.getId(), s.track.getId())
    .append(startTime, s.startTime)
    .isEquals();
  }

  @Override
  public String toString() {
    return new ToStringBuilder(this).toString();
  }

}
TOP

Related Classes of com.github.hakko.musiccabinet.domain.model.aggr.Scrobble

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.