package internetz; import java.io.Serializable; import logger.PjiitOutputter; /*** * Represents a "skill" - a GitHub language * * @author Oskar Jarczyk * @since 1.0 * @version 1.1 */ public class Skill implements Serializable{ private String name; private int id; private Category category; private int strength; private double probability; private int cardinalProbability; public Skill() { say("Empty-constructor Skill initialized"); } public Skill(String name, short id, int strength) { this.name = name; this.id = id; this.strength = strength; say("Skill created"); } public Skill(String name) { this.name = name; say("Skill created with minimum data"); } private void say(String s) { PjiitOutputter.say(s); } public Skill(String name, String type, int id) { this.name = name; this.id = id; this.category = new Category(type); say("Skill created with name=" + name + " type=" + type); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getStrength() { return strength; } public void setStrength(int strength) { this.strength = strength; } public Category getCategory() { return category; } public void setCategory(Category category) { this.category = category; } public double getProbability() { return probability; } public void setProbability(double probability) { this.probability = probability; } public int getCardinalProbability() { return cardinalProbability; } public void setCardinalProbability(int cardinalProbability) { this.cardinalProbability = cardinalProbability; } @Override public int hashCode() { return name.hashCode() * id; } @Override public boolean equals(Object obj) { if (this.name.toLowerCase().equals(((Skill) obj).name.toLowerCase())) return true; else return false; } @Override public String toString(){ return this.name; } }