package br.com.while42.rpgcs.model.character; import java.io.Serializable; import java.util.HashSet; import java.util.Set; import br.com.while42.rpgcs.model.character.attributes.TypeRpgLanguage; public class Languages implements Serializable { private static final long serialVersionUID = 1L; private Set<TypeRpgLanguage> langs = new HashSet<TypeRpgLanguage>(); private Set<String> especials = new HashSet<String>(); public void add(TypeRpgLanguage language) { langs.add(language); } public void remove(TypeRpgLanguage language) { langs.remove(language); } public Set<TypeRpgLanguage> getAll() { return new HashSet<TypeRpgLanguage>(langs); } public void add(String especialLanguage) { especials.add(especialLanguage); } public void remove(String especialLanguage) { especials.remove(especialLanguage); } public Set<String> getAllEspecial() { return new HashSet<String>(especials); } public void clear() { langs.clear(); especials.clear(); } @Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Languages)) return false; Languages lgs = (Languages) o; return langs.equals(lgs.langs) && especials.equals(lgs.especials); } @Override public int hashCode() { return langs.hashCode() + especials.hashCode(); } }