BeanUtilsCollectionsV2.java Source code

Java tutorial

Introduction

Here is the source code for BeanUtilsCollectionsV2.java

Source

    import org.apache.commons.beanutils.BeanPredicate;
    import org.apache.commons.collections.PredicateUtils;

public class BeanUtilsCollectionsV2 {
  public static void main(String args[]) {
      BeanPredicate predicate =
        new BeanPredicate("title", PredicateUtils.uniquePredicate());

      Movie movie = new Movie();
      movie.setTitle("The Italian Job");

      Movie movie1 = new Movie();
      movie1.setTitle("The Italian Job");

      System.err.println(predicate.evaluate(movie)); // evaluates true
      System.err.println(predicate.evaluate(movie1)); // evaluates false

   }
}

    --------------------------------------------------------

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;
    }