package br.com.while42.rpgcs.model.character;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import br.com.while42.rpgcs.model.classes.AbstractRpgClass;
public class RpgClass implements Serializable {
private static final long serialVersionUID = 1L;
private Long experience = 0L;
private HashSet<AbstractRpgClass> rpgClass = new HashSet<AbstractRpgClass>();
public List<AbstractRpgClass> getAll() {
return new ArrayList<AbstractRpgClass>(rpgClass);
}
public void add(List<AbstractRpgClass> rpgClasses) {
for (AbstractRpgClass rpgClass : rpgClasses) {
add(rpgClass);
}
}
public void add(AbstractRpgClass rpgClass) {
this.rpgClass.add(rpgClass);
}
public void removeAllRpgClass() {
rpgClass.clear();
}
public void setExperience(Long xp) {
this.experience = xp;
}
public Long getExperience() {
return experience;
}
@Override
public boolean equals(Object o) {
if (this == o)
return true;
if (!(o instanceof RpgClass))
return false;
RpgClass rc = (RpgClass) o;
return experience.equals(rc.experience) && rpgClass.equals(rc.rpgClass);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("");
for (AbstractRpgClass c : rpgClass) {
sb.append(c.getClass().getName()).append("(").append(c.getClassLevel()).append(") ");
}
return sb.toString();
}
}