Mega Code Archive

 
Categories / Java / Apache Common
 

Use Bean Utils to get property value from object

import org.apache.commons.beanutils.BeanUtils; import java.util.Map; import java.util.Date; import java.util.List; import java.util.HashMap; import java.util.ArrayList; import java.util.GregorianCalendar; public class BeanUtilsExampleV1 {   public static void main(String args[]) throws Exception {     BeanUtilsExampleV1 diff = new BeanUtilsExampleV1();     Movie movieBean = diff.prepareData();     System.err.println("Movie Title: " +       BeanUtils.getProperty(movieBean, "title"));     System.err.println("Movie Year: " +       BeanUtils.getProperty(movieBean, "dateOfRelease"));     System.err.println("Movie Director: " +       BeanUtils.getProperty(movieBean, "director.name"));     System.err.println("Movie Director Home Contact: " +       BeanUtils.getProperty(movieBean, "director.contactNumber(Home)"));     System.err.println("Movie Genre (Thriller): " +       BeanUtils.getProperty(movieBean, "genre(THR)"));     System.err.println("Movie Actor 1 name: " +       BeanUtils.getProperty(movieBean, "actors[0].name"));     System.err.println("Movie Actor 1 worth: " +       BeanUtils.getProperty(movieBean, "actors[0].worth"));     System.err.println("Movie Actor 1 other movie 1: " +       BeanUtils.getProperty(movieBean, "actors[0].movieCredits[0].title"));   }   private Movie prepareData() {     Movie movie = new Movie();     movie.setTitle("The Italian Job");     movie.setDateOfRelease(new GregorianCalendar(1969, 0, 1).getTime());     // sets the genre     Map genre_map = new HashMap();     genre_map.put("THR", "Thriller");     genre_map.put("ACT", "Action");     movie.setGenre(genre_map);     // creates the Director     Person director = new Person();     director.setName("Peter Collinson");     director.setGender(1);     Map director_contacts = new HashMap();     director_contacts.put("Home", "99922233");     director_contacts.put("Mobile", "0343343433");     director.setContactNumber(director_contacts);     movie.setDirector(director);     // create the actors     Actor actor1 = new Actor();     actor1.setName("Michael Caine");     actor1.setGender(1);     actor1.setWorth(10000000);     List actor1_movies = new ArrayList();     Movie movie2 = new Movie();     movie2.setTitle("The Fourth Protocol");     Movie movie3 = new Movie();     movie3.setTitle("Shiner");     actor1_movies.add(movie2);     actor1_movies.add(movie3);     actor1.setMovieCredits(actor1_movies);     Actor actor2 = new Actor();     actor2.setName("Margaret Blye");     actor2.setGender(2);     actor2.setWorth(20000000);     List actors = new ArrayList();     actors.add(actor1);     actors.add(actor2);     movie.setActors(actors);     return movie;   } } ----------------------------------------------------------------------------- import java.util.List; public class Actor extends Person {   public Actor() {   }   public List getMovieCredits() { return this.movieCredits; }   public void setMovieCredits(List movieCredits) {     this.movieCredits = movieCredits;   }   public long getWorth() { return this.worth; }   public void setWorth(long worth) { this.worth = worth; }   private List movieCredits;   private long worth; } ----------------------------------------------------------------------------- import java.util.Map; import java.util.List; import java.util.Date; public class Movie {   public Movie() {   }   public Date getDateOfRelease() { return this.dateOfRelease; }   public void setDateOfRelease(Date dateOfRelease) {     this.dateOfRelease = dateOfRelease;   }   public String getTitle() { return this.title; }   public void setTitle(String title) {this.title = title; }   public Person getDirector() { return this.director; }   public void setDirector(Person director) { this.director = director; }   public List getActors() { return this.actors; }   public void setActors(List actors) { this.actors= actors; }   public String[] getKeywords() { return this.keywords; }   public void setKeyWords(String[] keywords) { this.keywords = keywords; }   public Map getGenre() { return this.genre; }   public void setGenre(Map genre) { this.genre = genre; }   private Date dateOfRelease;   private String title;   private Person director;   private List actors;   private String[] keywords;   private Map genre; } ----------------------------------------------------------------------------- import java.util.Map; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; public class Person {   public Person() {   }   public String getName() {     return this.name == null ? "NoName" : this.name; }   public void setName(String name) { this.name = name; }   public int getGender() { return this.gender; }   public void setGender(int gender) {  // 0 - Indeterminate, 1 - Male, 2 - Female     this.gender = (gender > 2 || gender < 0) ? 0 : gender; }   public Map getContactNumber() { return this.contactNumber; }   public void setContactNumber(Map contactNumber) {     this.contactNumber = contactNumber;   }   /**public boolean equals(Object o) {     if(o == this) return true;     if(!(o instanceof Person)) return false;     Person otherPerson = (Person)o;     if(otherPerson.getName().equals(this.name) &&        otherPerson.getGender() == this.gender) return true;     return false;   }*/   public boolean equals(Object o) {     if(!(o instanceof Person)) return false;     Person otherPerson = (Person)o;     return new EqualsBuilder()                .append(name, otherPerson.getName())                .append(gender, otherPerson.getGender())                .isEquals();   }   public int hashCode() {     return new HashCodeBuilder(7, 51)                .append(name)                .append(gender)                .append(contactNumber)                .toHashCode();   }   public String toString() {     return new ToStringBuilder(this)                .append("Name", name)                .append("Gender", gender)                .append("Contact Details", contactNumber)                .toString();   }   private String name;   private int gender;   private Map contactNumber; }                     BeanUtilsExampleV1.zip( 880 k)