// license-header java merge-point // // Attention: Generated code! Do not modify by hand! // Generated by EntityEmbeddable.vsl in andromda-ejb3-cartridge on 09/18/2014 16:56:06. // package org.andromda.test.howto4.b; import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.EmbeddedId; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinColumns; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; /** *

* TODO: Model Documentation for org.andromda.test.howto4.b.Person *

* * Autogenerated POJO EJB class for Person containing the * bulk of the entity implementation. * * This is autogenerated by AndroMDA using the EJB3 * cartridge. * * DO NOT MODIFY this class. */ @Entity @Table(name="PERSON") @NamedQuery(name="Person.findAll", query="SELECT p FROM Person AS p") public class Person implements Serializable, Comparable{ private static final long serialVersionUID = -7166546957338809953L; protected PersonPK pk; // ----------- 4 Attribute Definitions ------------ protected String name; protected Date birthDate; // --------- 1 Relationship Definitions ----------- protected Set cars = new HashSet(); // ---- Manageable Display Attributes (Transient) ----- // ----- Composite PK Accessors ------ /** * Return the composite primary key for Person * @return The composite primary key */ @EmbeddedId @JoinColumns({ @JoinColumn(name="ID", nullable=false), @JoinColumn(name="TAG", nullable=false) }) public PersonPK getPk() { return this.pk; } /** * Set the composite primary key for Person * @param pkIn The composite primary key */ public void setPk(PersonPK pkIn) { this.pk = pkIn; } // -------- 4 Attribute Accessors ---------- /** *

* TODO: Model Documentation for name *

* Get the name property. * @return String The value of name */ @Column(name="NAME", nullable=false, insertable=true, updatable=true) @NotNull(message="name is required") public String getName() { return this.name; } /** *

* TODO: Model Documentation for name *

* Set the name property. * @param value the new value */ public void setName(String value) { this.name = value; } /** *

* TODO: Model Documentation for birthDate *

* Get the birthDate property. * @return Date The value of birthDate */ @Column(name="BIRTH_DATE", nullable=false, insertable=true, updatable=true) @Temporal(TemporalType.TIMESTAMP) @NotNull(message="birthDate is required") public Date getBirthDate() { return this.birthDate; } /** *

* TODO: Model Documentation for birthDate *

* Set the birthDate property. * @param value the new value */ public void setBirthDate(Date value) { this.birthDate = value; } // ------------- 1 Relations ------------------ /** *

* TODO: Model Documentation for cars *

* Get the cars Collection * @return Set */ @OneToMany(mappedBy="owner") public Set getCars() { return this.cars; } /** *

* TODO: Model Documentation for cars *

* Set the cars * @param carsIn */ public void setCars (Set carsIn) { this.cars = carsIn; } // --------------- Constructors ----------------- /** * Default empty no-arg constructor */ public Person() { // Default empty constructor } /** * Constructor with all updatable Entity attributes except auto incremented identifiers. * * @param pk PersonPK The composite primary key class * @param name String value for the name property required=true lower=1 * @param birthDate Date value for the birthDate property required=true lower=1 */ public Person(PersonPK pk, String name, Date birthDate) { setPk(pk); this.name = name; this.birthDate = birthDate; } /** * Constructor with all Entity attribute values and CMR relations. * * @param pk PersonPK The composite primary key class * @param name String value for the name property * @param birthDate Date value for the birthDate property * @param cars Set value for the cars relation */ public Person(PersonPK pk, String name, Date birthDate, Set cars) { setPk(pk); // 2 updatableAttributes setName(name); setBirthDate(birthDate); // 1 relations setCars(cars); } /** * Constructor with composite primary key arg only. * * @param pkIn PersonPK Composite primary key */ public Person(PersonPK pkIn) { this.pk = pkIn; } // -------- Common Methods ----------- /** * Indicates if the argument is of the same type and all values are equal. * @param object The target object to compare with * @return boolean True if both objects a 'equal' * @see Object#equals(Object) */ @Override public boolean equals(Object object) { if (null == object) { return false; } if (this == object) { return true; } if (!(object instanceof Person)) { return false; } final Person that = (Person)object; if (this.getPk().getId() != that.getPk().getId()) { return false; } if (this.getPk().getTag() == null || that.getPk().getTag() == null || !this.getPk().getTag().equals(that.getPk().getTag())) { return false; } return true; } /** * Returns a hash code value for the object * @return int The hash code value * @see Object#hashCode */ @Override public int hashCode() { int hashCode = 0; hashCode = 29 * hashCode + (int)getPk().getId(); hashCode = 29 * hashCode + (getPk().getTag() == null ? 0 : getPk().getTag().hashCode()); return hashCode; } /** * Returns a String representation of the object * @return String Textual representation of the object displaying name/value pairs for all attributes * @see Object#toString */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("Person("); sb.append(this.pk); sb.append(" name=").append(getName()); sb.append(" birthDate=").append(getBirthDate()); sb.append(")"); return sb.toString(); } /** * @see Comparable#compareTo */ @Override public int compareTo(Person o) { int cmp = 0; if (this.getPk() != null) { cmp = this.getPk().compareTo(o.getPk()); } else { if (this.getName() != null) { cmp = (cmp != 0 ? cmp : this.getName().compareTo(o.getName())); } if (this.getBirthDate() != null) { cmp = (cmp != 0 ? cmp : this.getBirthDate().compareTo(o.getBirthDate())); } } return cmp; } }