Entity bean helper functions possible?
trippccn Apr 28, 2006 2:59 AMIs it possible to add a helper function to an Entity bean that is not a getter or setter?
For example, are the two methods at the bottom of this code valid? If so, how do I display their values inside jsf? I tried #{member.getAge} but that didn't work....
package org.cnow.object;
import static org.jboss.seam.ScopeType.SESSION;
import java.io.Serializable;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.validator.Length;
import org.hibernate.validator.Email;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
@Entity
@Name("member")
@Scope(SESSION)
@Table(name="members")
public class Member implements Serializable
{
private int id;
private String first_name;
private String last_name;
private String email;
private String address_1;
private String address_2;
private String city;
private String state;
private String zip_code;
private String phone;
private String password;
private boolean receive_newsletter;
private Date birthdate;
private int referred_by;
private char gender;
private Date joined_date;
private int campaign_id;
private Collection<MemberImage> member_images;
public Member(int id, String first_name, String last_name, String email, String password) {
this.id = id;
this.first_name = first_name;
this.last_name = last_name;
this.email = email;
this.password = password;
}
public Member() {}
@Id @GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Length(min=1, message="Please provide your first name")
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
@Email
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getAddress_1() {
return address_1;
}
public void setAddress_1(String address_1) {
this.address_1 = address_1;
}
public String getAddress_2() {
return address_2;
}
public void setAddress_2(String address_2) {
this.address_2 = address_2;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getZip_code() {
return zip_code;
}
public void setZip_code(String zip_code) {
this.zip_code = zip_code;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
// Figure out how to best validate this for use in both login and register
@Length(min=4, message="Password must be at least 4 characters.")
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isReceive_newsletter() {
return receive_newsletter;
}
public void setReceive_newsletter(boolean receive_newsletter) {
this.receive_newsletter = receive_newsletter;
}
public Date getBirthdate() {
return birthdate;
}
public void setBirthdate(Date birthdate) {
this.birthdate = birthdate;
}
public int getReferred_by() {
return referred_by;
}
public void setReferred_by(int referred_by) {
this.referred_by = referred_by;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public Date getJoined_date() {
return joined_date;
}
public void setJoined_date(Date joined_date) {
this.joined_date = joined_date;
}
public int getCampaign_id() {
return campaign_id;
}
public void setCampaign_id(int campaign_id) {
this.campaign_id = campaign_id;
}
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy="member")
public Collection<MemberImage> getMember_images() {
return member_images;
}
public void setMember_images(Collection<MemberImage> member_images) {
this.member_images = member_images;
}
/*
public String getGenderString() {
if (new Character(this.otherMember.getGender()).toString().equals("M")) {
return "Male";
} else {
return "Female";
}
}
public int getAge() {
Calendar c1 = new GregorianCalendar();
Calendar c2 = new GregorianCalendar();
c1.setTime(this.otherMember.getBirthdate());
int age = c2.YEAR - c1.YEAR;
return age;
}
*/
}
Thanks!