/** * * TURTLE PLAYER * * Licensed under MIT & GPL * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE * OR OTHER DEALINGS IN THE SOFTWARE. * * More Information @ www.turtle-player.co.uk * * @author Simon Honegger (Hoene84) */ package com.turtleplayer.model; import com.turtleplayer.util.Shorty; import com.turtleplayer.util.TurtleUtil; public class GenreDigest implements Genre { private final String id; public static final GenreDigest NO_GENRE = new GenreDigest(null); public GenreDigest(String id) { this.id = Shorty.avoidNull(id); } public String getGenreId() { return id; } public String getGenreName() { return TurtleUtil.translateGenreId(id); } public <R> R accept(InstanceVisitor<R> visitor) { return visitor.visit(this); } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; GenreDigest genre = (GenreDigest) o; return id.equals(genre.id); } @Override public int hashCode() { return id.hashCode(); } }