package polly.rx.entities; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.SequenceGenerator; import de.skuzzle.polly.tools.Check; import de.skuzzle.polly.tools.EqualsHelper; import de.skuzzle.polly.tools.Equatable; import polly.rx.core.orion.model.AlienRace; import polly.rx.core.orion.model.OrionObjectUtil; @Entity @NamedQueries({ @NamedQuery( name = DBAlienRace.FIND_RACE, query= "SELECT r FROM DBAlienRace r WHERE r.name = ?1 AND r.subName = ?2 AND r.aggressive = ?3" ), @NamedQuery( name = DBAlienRace.ALL_RACES, query = "SELECT r FROM DBAlienRace r" ) }) public class DBAlienRace implements AlienRace { public final static String FIND_RACE = "FIND_RACE"; //$NON-NLS-1$ public final static String ALL_RACES = "ALL_RACES"; //$NON-NLS-1$ private final static String GENERATOR = "ALIEN_RACE_GEN"; //$NON-NLS-1$ @Id @SequenceGenerator(name = GENERATOR) @GeneratedValue(strategy = GenerationType.TABLE, generator = GENERATOR) private int id; private String name; private String subName; private boolean aggressive; public DBAlienRace() { } public DBAlienRace(String name, String subName, boolean aggressive) { Check.objects(name, subName).notNull(); this.name = name; this.subName = subName; this.aggressive = aggressive; } public void updateWith(AlienRace race) { this.name = race.getName(); this.subName = race.getSubName(); this.aggressive = race.isAggressive(); } public int getId() { return this.id; } @Override public String toString() { return OrionObjectUtil.alienRaceString(this); } @Override public int hashCode() { return OrionObjectUtil.alienRaceHash(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; } public void setName(String name) { this.name = name; } @Override public String getSubName() { return this.subName; } public void setSubName(String subName) { this.subName = subName; } @Override public boolean isAggressive() { return this.aggressive; } public void setAggressive(boolean aggressive) { this.aggressive = aggressive; } }