Package Database.Primitives

Source Code of Database.Primitives.Song

package Database.Primitives;

import Database.Similarities;

/**
*
* @author Karl Lopker
*/
public class Song{

    private int id;
    private int totalRating;
    private int ratingCount;
    private Similarities similarities = new Similarities();

    public Song(int id, int rating) {
        this.id = id;
        this.totalRating = rating;
        ratingCount = 1;
    }

    public Song(int id) {
        this.id = id;
        this.totalRating = 0;
        ratingCount = 0;
    }

    public void addRating(int rating) {
        totalRating += rating;
        ratingCount++;
    }

    public void joinRating(int rating, int count) {
        totalRating += rating;
        ratingCount += count;
    }

    public int getRatingCount() {
        return ratingCount;
    }

    /**
     * Avgerage Rating is getRating()/getRatingCount()
     *
     * @return
     */
    public int getRating() {
        return totalRating;
    }

    public int getID() {
        return id;
    }

    public Similarities getNeighborhood() {
        if (similarities == null) {
            similarities = new Similarities();
        }
        return similarities;
    }

    public void addToNeighborhood(Similarity sim) {
        if (similarities == null) {
            similarities = new Similarities();
        }
        similarities.insert(sim);
    }

    public double getSimilarity(Song s) {
        if (similarities == null) {
            similarities = new Similarities();
        }
        return similarities.getSimilarity(s);
    }

    public void print() {
        if (similarities == null) {
            similarities = new Similarities();
        }
        System.out.println(id);
        similarities.print();
    }

    @Override
    public boolean equals(Object o) {
        if (o instanceof Song) {
            Song other = (Song) o;
            return (id == other.id);
        }
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 97 * hash + this.id;
        return hash;
    }
}
TOP

Related Classes of Database.Primitives.Song

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.