Language.java
- /*
- * This software was designed and created by Jason Carroll.
- * Copyright (c) 2002, 2003, 2004 Jason Carroll.
- * The author can be reached at jcarroll@cowsultants.com
- * ITracker website: http://www.cowsultants.com
- * ITracker forums: http://www.cowsultants.com/phpBB/index.php
- *
- * This program is free software; you can redistribute it and/or modify
- * it only under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
- package org.itracker.model;
- import org.apache.commons.lang.builder.CompareToBuilder;
- import org.apache.commons.lang.builder.ToStringBuilder;
- import java.util.Comparator;
- /**
- * Models a language entry.
- *
- * @author ready
- */
- public class Language extends AbstractEntity {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private String locale;
- private String resourceKey;
- private String resourceValue;
- /**
- * Default constructor (required by Hibernate).
- * <p/>
- * <p>
- * PENDING: should be <code>private</code> so that it can only be used by
- * Hibernate, to ensure that the fields which form an instance's identity
- * are always initialized/never <tt>null</tt>.
- * </p>
- */
- public Language() {
- }
- public Language(String locale, String key) {
- setLocale(locale);
- setResourceKey(key);
- }
- /**
- * Convenience constructor to set the value too.
- */
- public Language(String locale, String key, String value) {
- this(locale, key);
- setResourceValue(value);
- }
- public String getLocale() {
- return locale;
- }
- public void setLocale(String locale) {
- if (locale == null) {
- throw new IllegalArgumentException("null locale");
- }
- this.locale = locale;
- }
- public String getResourceKey() {
- return resourceKey;
- }
- public void setResourceKey(String resourceKey) {
- if (resourceKey == null) {
- throw new IllegalArgumentException("null resourceKey");
- }
- this.resourceKey = resourceKey;
- }
- public String getResourceValue() {
- return resourceValue;
- }
- public void setResourceValue(String resourceValue) {
- this.resourceValue = resourceValue;
- }
- // @Override
- // public boolean equals(Object obj) {
- // if (this == obj) {
- // return true;
- // }
- //
- // if (obj instanceof Language) {
- // final Language other = (Language)obj;
- //
- // return this.resourceKey.equals(other.resourceKey)
- // && this.locale.equals(other.locale);
- // }
- // return false;
- // }
- //
- // @Override
- // public int hashCode() {
- // return this.resourceKey.hashCode() + this.locale.hashCode();
- // }
- //
- @Override
- public String toString() {
- return new ToStringBuilder(this).append("id", getId()).append("resourceKey",
- getResourceKey()).append("locale", getLocale()).append("value", getResourceValue()).toString();
- }
- public static final Comparator<Language> KEY_COMPARATOR = new LanguageKeyComparator();
- private static class LanguageKeyComparator implements Comparator<Language> {
- public int compare(Language o1, Language o2) {
- return new CompareToBuilder().append(o1.getResourceKey(), o2.getResourceKey()).append(o1.getLocale(), o2.getLocale()).append(o1.getId(), o2.getId()).toComparison();
- }
- }
- public static final Comparator<Language> VALUE_COMPARATOR = new LanguageValueComparator();
- private static class LanguageValueComparator implements Comparator<Language> {
- public int compare(Language o1, Language o2) {
- return new CompareToBuilder()
- .append(o1.getResourceValue(), o2.getResourceValue())
- .append(o1.getResourceKey(), o2.getResourceKey())
- .append(o1.getId(), o2.getId()).toComparison();
- }
- }
- }