package polly.rx.core.orion.model; import de.skuzzle.polly.tools.Check; import de.skuzzle.polly.tools.EqualsHelper; import de.skuzzle.polly.tools.Equatable; public class DefaultAlienRace implements AlienRace { private final String name; private final String subName; private final boolean aggressive; public DefaultAlienRace(String name, String subName, boolean aggressive) { Check.objects(name, subName).notNull(); this.name = name; this.subName = subName; this.aggressive = aggressive; } public DefaultAlienRace(AlienRace other) { this(other.getName(), other.getSubName(), other.isAggressive()); } @Override public int hashCode() { return OrionObjectUtil.alienRaceHash(this); } @Override public String toString() { return OrionObjectUtil.alienRaceString(this); } @Override public final boolean equals(Object obj) { return EqualsHelper.testEquality(this, obj); } @Override public Class<?> getEquivalenceClass() { return AlienRace.class; } @Override public boolean actualEquals(Equatable o) { return OrionObjectUtil.alienRaceEquals(this, (AlienRace) o); } @Override public String getName() { return this.name; } @Override public String getSubName() { return this.subName; } @Override public boolean isAggressive() { return this.aggressive; } }