com.googelcode.jpractices.Person.java Source code

Java tutorial

Introduction

Here is the source code for com.googelcode.jpractices.Person.java

Source

    package com.googelcode.jpractices.common;

    import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * Copyright 2009 @ jPractices v 1.0
 * @SVN URL : http://jpractices.googlecode.com
 * @author Ganesh Gowtham
 * @Homepage : http://ganesh.gowtham.googlepages.com
 */

public class Person {
   private String firstName;

   private String lastName;

   private int salary;

   public Person(String firstName, String lastName, int salary) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.salary = salary;
   }

   public String getFirstName() {
      return firstName;
   }

   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }

   public String getLastName() {
      return lastName;
   }

   public void setLastName(String lastName) {
      this.lastName = lastName;
   }

   public int getSalary() {
      return salary;
   }

   public void setSalary(int salary) {
      this.salary = salary;
   }

   @Override
   public String toString() {
      return ToStringBuilder.reflectionToString(this);
   }
}--------------------------------package com.googelcode.jpractices;

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.List;

    import org.apache.commons.beanutils.BeanPredicate;
    import org.apache.commons.collections.CollectionUtils;
    import org.apache.commons.collections.functors.EqualPredicate;

    import com.googelcode.jpractices.common.Person;

    /**
     * Copyright 2009 @ jPractices v 1.0
     * @SVN URL : http://jpractices.googlecode.com
     * @author Ganesh Gowtham
     * @Homepage : http://ganesh.gowtham.googlepages.com
     *
     */
    public class PredicateExample {
        List<Person> personList = new ArrayList<Person>();

        /**
         * Basic method which creates the list of person object's
         *
         */
        void setUpData() {
            personList.add(new Person("ganesh", "gowtham", 25000));
            personList.add(new Person("britney", "spears", 45000));
            personList.add(new Person("ganesh", "tom", 35000));
            personList.add(new Person("sunny", "dummy", 45000));
        }

        /**
         * select's the Person object's from collection of person objects based on arg
         * @param propertyName - Person's attribute (firstName (or) lastName (or) salary )
         * @param value - Value to be compared to propertyName
         */
        void selectObjectsByName(String propertyName, String value) {
            EqualPredicate nameEqlPredicate = new EqualPredicate(value);
            BeanPredicate beanPredicate = new BeanPredicate(propertyName, nameEqlPredicate);
            Collection<Person> filteredCollection = CollectionUtils.select(personList, beanPredicate);
            System.out.println("Below are person object(s) whose " + propertyName + " is " + value);
            System.out
                    .println("Matches for entered criteria " + CollectionUtils.countMatches(personList, beanPredicate));
            for (Person person : filteredCollection) {
                System.out.println(person);
            }
        }

        /**
         * select's the person object from collcetion based on propetyName and value
         * @param propertyName - Person's attribute (firstName (or) lastName (or) salary )
         * @param value - Value to be compared to propertyName
         */
        void selectObjectFromCollection(String propertyName, String value) {
            EqualPredicate nameEqlPredicate = new EqualPredicate(value);
            BeanPredicate beanPredicate = new BeanPredicate(propertyName, nameEqlPredicate);
            System.out.println("Below are person object whose " + propertyName + " is " + value);
            System.out.println(CollectionUtils.find(personList, beanPredicate));
        }

        public static void main(String[] args) {
            PredicateExample example = new PredicateExample();
            example.setUpData();
            example.selectObjectsByName("firstName", "ganesh");
            example.selectObjectFromCollection("firstName", "britney");
        }

    }