<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FApache_Common%2FBean_Utils</id>
		<title>Java/Apache Common/Bean Utils - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FApache_Common%2FBean_Utils"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Apache_Common/Bean_Utils&amp;action=history"/>
		<updated>2026-05-15T06:37:25Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Apache_Common/Bean_Utils&amp;diff=9023&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Apache_Common/Bean_Utils&amp;diff=9023&amp;oldid=prev"/>
				<updated>2010-06-01T07:23:23Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:23, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/Apache_Common/Bean_Utils&amp;diff=9022&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/Apache_Common/Bean_Utils&amp;diff=9022&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:48Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== BeanUtil Array Utils Example ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.lang.ArrayUtils;&lt;br /&gt;
public class ArrayUtilsExampleV1 {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    long[] longArray = new long[] {10000, 30, 99};&lt;br /&gt;
    String[] stringArray = new String[] {&amp;quot;abc&amp;quot;, &amp;quot;def&amp;quot;, &amp;quot;fgh&amp;quot;};&lt;br /&gt;
    long[] clonedArray = ArrayUtils.clone(longArray);&lt;br /&gt;
    System.err.println(&lt;br /&gt;
      ArrayUtils.toString((ArrayUtils.toObject(clonedArray))));&lt;br /&gt;
    System.err.println(ArrayUtils.indexOf(stringArray, &amp;quot;def&amp;quot;));&lt;br /&gt;
    ArrayUtils.reverse(stringArray);&lt;br /&gt;
    System.err.println(ArrayUtils.toString(stringArray));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BeanUtils Collections 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.beanutils.BeanPredicate;&lt;br /&gt;
import org.apache.rumons.collections.PredicateUtils;&lt;br /&gt;
public class BeanUtilsCollectionsV2 {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    BeanPredicate predicate =&lt;br /&gt;
      new BeanPredicate(&amp;quot;title&amp;quot;, PredicateUtils.uniquePredicate());&lt;br /&gt;
    Movie movie = new Movie();&lt;br /&gt;
    movie.setTitle(&amp;quot;The Italian Job&amp;quot;);&lt;br /&gt;
    Movie movie1 = new Movie();&lt;br /&gt;
    movie1.setTitle(&amp;quot;The Italian Job&amp;quot;);&lt;br /&gt;
    System.err.println(predicate.evaluate(movie)); // evaluates true&lt;br /&gt;
    System.err.println(predicate.evaluate(movie1)); // evaluates false&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Movie {&lt;br /&gt;
  public Movie() {&lt;br /&gt;
  }&lt;br /&gt;
  public Date getDateOfRelease() { return this.dateOfRelease; }&lt;br /&gt;
  public void setDateOfRelease(Date dateOfRelease) {&lt;br /&gt;
    this.dateOfRelease = dateOfRelease;&lt;br /&gt;
  }&lt;br /&gt;
  public String getTitle() { return this.title; }&lt;br /&gt;
  public void setTitle(String title) {this.title = title; }&lt;br /&gt;
  public Person getDirector() { return this.director; }&lt;br /&gt;
  public void setDirector(Person director) { this.director = director; }&lt;br /&gt;
  public List getActors() { return this.actors; }&lt;br /&gt;
  public void setActors(List actors) { this.actors= actors; }&lt;br /&gt;
  public String[] getKeywords() { return this.keywords; }&lt;br /&gt;
  public void setKeyWords(String[] keywords) { this.keywords = keywords; }&lt;br /&gt;
  public Map getGenre() { return this.genre; }&lt;br /&gt;
  public void setGenre(Map genre) { this.genre = genre; }&lt;br /&gt;
  private Date dateOfRelease;&lt;br /&gt;
  private String title;&lt;br /&gt;
  private Person director;&lt;br /&gt;
  private List actors;&lt;br /&gt;
  private String[] keywords;&lt;br /&gt;
  private Map genre;&lt;br /&gt;
}&lt;br /&gt;
--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import org.apache.rumons.lang.builder.EqualsBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.HashCodeBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringBuilder;&lt;br /&gt;
public class Person {&lt;br /&gt;
  public Person() {&lt;br /&gt;
  }&lt;br /&gt;
  public String getName() {&lt;br /&gt;
    return this.name == null ? &amp;quot;NoName&amp;quot; : this.name; }&lt;br /&gt;
  public void setName(String name) { this.name = name; }&lt;br /&gt;
  public int getGender() { return this.gender; }&lt;br /&gt;
  public void setGender(int gender) {  // 0 - Indeterminate, 1 - Male, 2 - Female&lt;br /&gt;
    this.gender = (gender &amp;gt; 2 || gender &amp;lt; 0) ? 0 : gender; }&lt;br /&gt;
  public Map getContactNumber() { return this.contactNumber; }&lt;br /&gt;
  public void setContactNumber(Map contactNumber) {&lt;br /&gt;
    this.contactNumber = contactNumber;&lt;br /&gt;
  }&lt;br /&gt;
  /**public boolean equals(Object o) {&lt;br /&gt;
    if(o == this) return true;&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    if(otherPerson.getName().equals(this.name) &amp;amp;&amp;amp;&lt;br /&gt;
       otherPerson.getGender() == this.gender) return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }*/&lt;br /&gt;
  public boolean equals(Object o) {&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    return new EqualsBuilder()&lt;br /&gt;
               .append(name, otherPerson.getName())&lt;br /&gt;
               .append(gender, otherPerson.getGender())&lt;br /&gt;
               .isEquals();&lt;br /&gt;
  }&lt;br /&gt;
  public int hashCode() {&lt;br /&gt;
    return new HashCodeBuilder(7, 51)&lt;br /&gt;
               .append(name)&lt;br /&gt;
               .append(gender)&lt;br /&gt;
               .append(contactNumber)&lt;br /&gt;
               .toHashCode();&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return new ToStringBuilder(this)&lt;br /&gt;
               .append(&amp;quot;Name&amp;quot;, name)&lt;br /&gt;
               .append(&amp;quot;Gender&amp;quot;, gender)&lt;br /&gt;
               .append(&amp;quot;Contact Details&amp;quot;, contactNumber)&lt;br /&gt;
               .toString();&lt;br /&gt;
  }&lt;br /&gt;
  private String name;&lt;br /&gt;
  private int gender;&lt;br /&gt;
  private Map contactNumber;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BeanUtils Date Utils ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.lang.time.DateUtils;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.Calendar;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.GregorianCalendar;&lt;br /&gt;
public class DateUtilsV1 {&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    GregorianCalendar calendar = new GregorianCalendar(1974, 5, 25, 6, 30, 30);&lt;br /&gt;
    Date date = calendar.getTime();&lt;br /&gt;
    System.err.println(&amp;quot;Original Date: &amp;quot; + date);&lt;br /&gt;
    System.err.println(&amp;quot;Rounded Date: &amp;quot; + DateUtils.round(date, Calendar.HOUR));&lt;br /&gt;
    System.err.println(&amp;quot;Truncated Date: &amp;quot; +  DateUtils.truncate(date, Calendar.MONTH));&lt;br /&gt;
    Iterator itr = DateUtils.iterator(date, DateUtils.RANGE_WEEK_MONDAY);&lt;br /&gt;
    while(itr.hasNext()) {&lt;br /&gt;
      System.err.println(((Calendar)itr.next()).getTime());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Movie {&lt;br /&gt;
  public Movie() {&lt;br /&gt;
  }&lt;br /&gt;
  public Date getDateOfRelease() { return this.dateOfRelease; }&lt;br /&gt;
  public void setDateOfRelease(Date dateOfRelease) {&lt;br /&gt;
    this.dateOfRelease = dateOfRelease;&lt;br /&gt;
  }&lt;br /&gt;
  public String getTitle() { return this.title; }&lt;br /&gt;
  public void setTitle(String title) {this.title = title; }&lt;br /&gt;
  public Person getDirector() { return this.director; }&lt;br /&gt;
  public void setDirector(Person director) { this.director = director; }&lt;br /&gt;
  public List getActors() { return this.actors; }&lt;br /&gt;
  public void setActors(List actors) { this.actors= actors; }&lt;br /&gt;
  public String[] getKeywords() { return this.keywords; }&lt;br /&gt;
  public void setKeyWords(String[] keywords) { this.keywords = keywords; }&lt;br /&gt;
  public Map getGenre() { return this.genre; }&lt;br /&gt;
  public void setGenre(Map genre) { this.genre = genre; }&lt;br /&gt;
  private Date dateOfRelease;&lt;br /&gt;
  private String title;&lt;br /&gt;
  private Person director;&lt;br /&gt;
  private List actors;&lt;br /&gt;
  private String[] keywords;&lt;br /&gt;
  private Map genre;&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import org.apache.rumons.lang.builder.EqualsBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.HashCodeBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringBuilder;&lt;br /&gt;
public class Person {&lt;br /&gt;
  public Person() {&lt;br /&gt;
  }&lt;br /&gt;
  public String getName() {&lt;br /&gt;
    return this.name == null ? &amp;quot;NoName&amp;quot; : this.name; }&lt;br /&gt;
  public void setName(String name) { this.name = name; }&lt;br /&gt;
  public int getGender() { return this.gender; }&lt;br /&gt;
  public void setGender(int gender) {  // 0 - Indeterminate, 1 - Male, 2 - Female&lt;br /&gt;
    this.gender = (gender &amp;gt; 2 || gender &amp;lt; 0) ? 0 : gender; }&lt;br /&gt;
  public Map getContactNumber() { return this.contactNumber; }&lt;br /&gt;
  public void setContactNumber(Map contactNumber) {&lt;br /&gt;
    this.contactNumber = contactNumber;&lt;br /&gt;
  }&lt;br /&gt;
  /**public boolean equals(Object o) {&lt;br /&gt;
    if(o == this) return true;&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    if(otherPerson.getName().equals(this.name) &amp;amp;&amp;amp;&lt;br /&gt;
       otherPerson.getGender() == this.gender) return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }*/&lt;br /&gt;
  public boolean equals(Object o) {&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    return new EqualsBuilder()&lt;br /&gt;
               .append(name, otherPerson.getName())&lt;br /&gt;
               .append(gender, otherPerson.getGender())&lt;br /&gt;
               .isEquals();&lt;br /&gt;
  }&lt;br /&gt;
  public int hashCode() {&lt;br /&gt;
    return new HashCodeBuilder(7, 51)&lt;br /&gt;
               .append(name)&lt;br /&gt;
               .append(gender)&lt;br /&gt;
               .append(contactNumber)&lt;br /&gt;
               .toHashCode();&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return new ToStringBuilder(this)&lt;br /&gt;
               .append(&amp;quot;Name&amp;quot;, name)&lt;br /&gt;
               .append(&amp;quot;Gender&amp;quot;, gender)&lt;br /&gt;
               .append(&amp;quot;Contact Details&amp;quot;, contactNumber)&lt;br /&gt;
               .toString();&lt;br /&gt;
  }&lt;br /&gt;
  private String name;&lt;br /&gt;
  private int gender;&lt;br /&gt;
  private Map contactNumber;&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Actor extends Person {&lt;br /&gt;
  public Actor() {&lt;br /&gt;
  }&lt;br /&gt;
  public List getMovieCredits() { return this.movieCredits; }&lt;br /&gt;
  public void setMovieCredits(List movieCredits) {&lt;br /&gt;
    this.movieCredits = movieCredits;&lt;br /&gt;
  }&lt;br /&gt;
  public long getWorth() { return this.worth; }&lt;br /&gt;
  public void setWorth(long worth) { this.worth = worth; }&lt;br /&gt;
  private List movieCredits;&lt;br /&gt;
  private long worth;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bean Utils: deal with collections ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import org.apache.rumons.beanutils.BeanUtils;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.GregorianCalendar;&lt;br /&gt;
public class BeanUtilsExampleV3 {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    BeanUtilsExampleV3 diff = new BeanUtilsExampleV3();&lt;br /&gt;
    Actor actor = diff.prepareData();&lt;br /&gt;
    Map describedData = BeanUtils.describe(actor);&lt;br /&gt;
    // check the map&lt;br /&gt;
    System.err.println(describedData.get(&amp;quot;name&amp;quot;));&lt;br /&gt;
    // change this value&lt;br /&gt;
    describedData.put(&amp;quot;name&amp;quot;, &amp;quot;Robert Redford&amp;quot;);&lt;br /&gt;
    // create a new Actor Bean&lt;br /&gt;
    Actor newActor = new Actor();&lt;br /&gt;
    BeanUtils.populate(newActor, describedData);&lt;br /&gt;
    System.err.println(BeanUtils.getProperty(newActor, &amp;quot;name&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  private Actor prepareData() {&lt;br /&gt;
    Actor actor = new Actor();&lt;br /&gt;
    actor.setName(&amp;quot;Michael Caine&amp;quot;);&lt;br /&gt;
    actor.setGender(1);&lt;br /&gt;
    actor.setWorth(10000000);&lt;br /&gt;
    return actor;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Movie {&lt;br /&gt;
  public Movie() {&lt;br /&gt;
  }&lt;br /&gt;
  public Date getDateOfRelease() { return this.dateOfRelease; }&lt;br /&gt;
  public void setDateOfRelease(Date dateOfRelease) {&lt;br /&gt;
    this.dateOfRelease = dateOfRelease;&lt;br /&gt;
  }&lt;br /&gt;
  public String getTitle() { return this.title; }&lt;br /&gt;
  public void setTitle(String title) {this.title = title; }&lt;br /&gt;
  public Person getDirector() { return this.director; }&lt;br /&gt;
  public void setDirector(Person director) { this.director = director; }&lt;br /&gt;
  public List getActors() { return this.actors; }&lt;br /&gt;
  public void setActors(List actors) { this.actors= actors; }&lt;br /&gt;
  public String[] getKeywords() { return this.keywords; }&lt;br /&gt;
  public void setKeyWords(String[] keywords) { this.keywords = keywords; }&lt;br /&gt;
  public Map getGenre() { return this.genre; }&lt;br /&gt;
  public void setGenre(Map genre) { this.genre = genre; }&lt;br /&gt;
  private Date dateOfRelease;&lt;br /&gt;
  private String title;&lt;br /&gt;
  private Person director;&lt;br /&gt;
  private List actors;&lt;br /&gt;
  private String[] keywords;&lt;br /&gt;
  private Map genre;&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import org.apache.rumons.lang.builder.EqualsBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.HashCodeBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringBuilder;&lt;br /&gt;
public class Person {&lt;br /&gt;
  public Person() {&lt;br /&gt;
  }&lt;br /&gt;
  public String getName() {&lt;br /&gt;
    return this.name == null ? &amp;quot;NoName&amp;quot; : this.name; }&lt;br /&gt;
  public void setName(String name) { this.name = name; }&lt;br /&gt;
  public int getGender() { return this.gender; }&lt;br /&gt;
  public void setGender(int gender) {  // 0 - Indeterminate, 1 - Male, 2 - Female&lt;br /&gt;
    this.gender = (gender &amp;gt; 2 || gender &amp;lt; 0) ? 0 : gender; }&lt;br /&gt;
  public Map getContactNumber() { return this.contactNumber; }&lt;br /&gt;
  public void setContactNumber(Map contactNumber) {&lt;br /&gt;
    this.contactNumber = contactNumber;&lt;br /&gt;
  }&lt;br /&gt;
  /**public boolean equals(Object o) {&lt;br /&gt;
    if(o == this) return true;&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    if(otherPerson.getName().equals(this.name) &amp;amp;&amp;amp;&lt;br /&gt;
       otherPerson.getGender() == this.gender) return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }*/&lt;br /&gt;
  public boolean equals(Object o) {&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    return new EqualsBuilder()&lt;br /&gt;
               .append(name, otherPerson.getName())&lt;br /&gt;
               .append(gender, otherPerson.getGender())&lt;br /&gt;
               .isEquals();&lt;br /&gt;
  }&lt;br /&gt;
  public int hashCode() {&lt;br /&gt;
    return new HashCodeBuilder(7, 51)&lt;br /&gt;
               .append(name)&lt;br /&gt;
               .append(gender)&lt;br /&gt;
               .append(contactNumber)&lt;br /&gt;
               .toHashCode();&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return new ToStringBuilder(this)&lt;br /&gt;
               .append(&amp;quot;Name&amp;quot;, name)&lt;br /&gt;
               .append(&amp;quot;Gender&amp;quot;, gender)&lt;br /&gt;
               .append(&amp;quot;Contact Details&amp;quot;, contactNumber)&lt;br /&gt;
               .toString();&lt;br /&gt;
  }&lt;br /&gt;
  private String name;&lt;br /&gt;
  private int gender;&lt;br /&gt;
  private Map contactNumber;&lt;br /&gt;
}&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Actor extends Person {&lt;br /&gt;
  public Actor() {&lt;br /&gt;
  }&lt;br /&gt;
  public List getMovieCredits() { return this.movieCredits; }&lt;br /&gt;
  public void setMovieCredits(List movieCredits) {&lt;br /&gt;
    this.movieCredits = movieCredits;&lt;br /&gt;
  }&lt;br /&gt;
  public long getWorth() { return this.worth; }&lt;br /&gt;
  public void setWorth(long worth) { this.worth = worth; }&lt;br /&gt;
  private List movieCredits;&lt;br /&gt;
  private long worth;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BeanUtils get Property from Dynamic Beans ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.beanutils.DynaBean;&lt;br /&gt;
import org.apache.rumons.beanutils.DynaClass;&lt;br /&gt;
import org.apache.rumons.beanutils.BeanUtils;&lt;br /&gt;
import org.apache.rumons.beanutils.LazyDynaBean;&lt;br /&gt;
import org.apache.rumons.beanutils.DynaProperty;&lt;br /&gt;
import org.apache.rumons.beanutils.BasicDynaClass;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.GregorianCalendar;&lt;br /&gt;
public class DynaBeansExampleV1 {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Object movie = createMovieBean();&lt;br /&gt;
    System.err.println(BeanUtils.getProperty(movie, &amp;quot;title&amp;quot;));&lt;br /&gt;
    System.err.println(BeanUtils.getProperty(movie, &amp;quot;director.name&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  private static Object createMovieBean() throws Exception {&lt;br /&gt;
    // first create the properties&lt;br /&gt;
    DynaProperty properties[] = new DynaProperty[] {&lt;br /&gt;
      new DynaProperty(&amp;quot;title&amp;quot;, String.class),&lt;br /&gt;
      new DynaProperty(&amp;quot;dateOfRelease&amp;quot;, Date.class),&lt;br /&gt;
      new DynaProperty(&amp;quot;keywords&amp;quot;, String[].class),&lt;br /&gt;
      new DynaProperty(&amp;quot;genre&amp;quot;, Map.class),&lt;br /&gt;
      new DynaProperty(&amp;quot;actors&amp;quot;, List.class),&lt;br /&gt;
      new DynaProperty(&amp;quot;director&amp;quot;, DynaBean.class)&lt;br /&gt;
    };&lt;br /&gt;
    // next using the properties define the class&lt;br /&gt;
    DynaClass movieClass = new BasicDynaClass(&amp;quot;movie&amp;quot;, null, properties);&lt;br /&gt;
    // now, with the class, create a new instance&lt;br /&gt;
    DynaBean movieBean = movieClass.newInstance();&lt;br /&gt;
    // set its properties&lt;br /&gt;
    movieBean.set(&amp;quot;title&amp;quot;, &amp;quot;The Italian Job&amp;quot;);&lt;br /&gt;
    movieBean.set(&amp;quot;dateOfRelease&amp;quot;,&lt;br /&gt;
      new GregorianCalendar(1969, 0, 1).getTime());&lt;br /&gt;
    movieBean.set(&amp;quot;keywords&amp;quot;, new String[] {&amp;quot;Italy&amp;quot;, &amp;quot;Bank Robbery&amp;quot;});&lt;br /&gt;
    Map genre = new HashMap();&lt;br /&gt;
    genre.put(&amp;quot;THR&amp;quot;, &amp;quot;Thriller&amp;quot;);&lt;br /&gt;
    movieBean.set(&amp;quot;genre&amp;quot;, genre);&lt;br /&gt;
    movieBean.set(&amp;quot;genre&amp;quot;, &amp;quot;ACT&amp;quot;, &amp;quot;Action&amp;quot;);&lt;br /&gt;
    DynaBean director = createPersonBean();&lt;br /&gt;
    director.set(&amp;quot;name&amp;quot;, &amp;quot;Peter Collinson&amp;quot;);&lt;br /&gt;
    director.set(&amp;quot;gender&amp;quot;, new Integer(1));&lt;br /&gt;
    movieBean.set(&amp;quot;director&amp;quot;, director);&lt;br /&gt;
    return movieBean;&lt;br /&gt;
  }&lt;br /&gt;
  private static DynaBean createPersonBean() {&lt;br /&gt;
    DynaBean person = new LazyDynaBean();&lt;br /&gt;
    return person;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Get Mapped Property ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.lang.reflect.Method;&lt;br /&gt;
import org.apache.rumons.collections.Bag;&lt;br /&gt;
import org.apache.rumons.collections.bag.HashBag;&lt;br /&gt;
import org.apache.rumons.beanutils.BeanUtils;&lt;br /&gt;
import org.apache.rumons.beanutils.PropertyUtils;&lt;br /&gt;
import org.apache.rumons.lang.StringUtils;&lt;br /&gt;
public class TasteOfThingsV1 {&lt;br /&gt;
  private static Map testMap;&lt;br /&gt;
  private static TestBean testBean;&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    prepareData();&lt;br /&gt;
    HashBag myBag = new HashBag(testMap.values());&lt;br /&gt;
    System.err.println(&amp;quot;How many Boxes? &amp;quot; + myBag.getCount(&amp;quot;Boxes&amp;quot;));&lt;br /&gt;
    myBag.add(&amp;quot;Boxes&amp;quot;, 5);&lt;br /&gt;
    System.err.println(&amp;quot;How many Boxes now? &amp;quot; + myBag.getCount(&amp;quot;Boxes&amp;quot;));&lt;br /&gt;
    Method method =&lt;br /&gt;
      testBean.getClass().getDeclaredMethod(&amp;quot;getTestMap&amp;quot;, new Class[0]);&lt;br /&gt;
    HashMap reflectionMap =&lt;br /&gt;
      (HashMap)method.invoke(testBean, new Object[0]);&lt;br /&gt;
    System.err.println(&amp;quot;The value of the &amp;quot;squ&amp;quot; key using reflection: &amp;quot; +&lt;br /&gt;
      reflectionMap.get(&amp;quot;squ&amp;quot;));&lt;br /&gt;
    String squ = BeanUtils.getMappedProperty(testBean, &amp;quot;testMap&amp;quot;, &amp;quot;squ&amp;quot;);&lt;br /&gt;
    squ = StringUtils.capitalize(squ);&lt;br /&gt;
    PropertyUtils.setMappedProperty(testBean, &amp;quot;testMap&amp;quot;, &amp;quot;squ&amp;quot;, squ);&lt;br /&gt;
    System.err.println(&amp;quot;The value of the &amp;quot;squ&amp;quot; key is: &amp;quot; +&lt;br /&gt;
      BeanUtils.getMappedProperty(testBean, &amp;quot;testMap&amp;quot;, &amp;quot;squ&amp;quot;));&lt;br /&gt;
    String box = (String)testMap.get(&amp;quot;box&amp;quot;);&lt;br /&gt;
    String caps =&lt;br /&gt;
      Character.toTitleCase(box.charAt(0)) +&lt;br /&gt;
      box.substring(1, box.length());&lt;br /&gt;
    System.err.println(&amp;quot;Capitalizing boxes by Java: &amp;quot; + caps);&lt;br /&gt;
  }&lt;br /&gt;
  private static void prepareData() {&lt;br /&gt;
    testMap = new HashMap();&lt;br /&gt;
    testMap.put(&amp;quot;box&amp;quot;, &amp;quot;boxes&amp;quot;);&lt;br /&gt;
    testMap.put(&amp;quot;squ&amp;quot;, &amp;quot;squares&amp;quot;);&lt;br /&gt;
    testMap.put(&amp;quot;rect&amp;quot;, &amp;quot;rectangles&amp;quot;);&lt;br /&gt;
    testMap.put(&amp;quot;cir&amp;quot;, &amp;quot;circles&amp;quot;);&lt;br /&gt;
    testBean = new TestBean();&lt;br /&gt;
    testBean.setTestMap(testMap);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
------------------------------------------------------------------&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
public class TestBean {&lt;br /&gt;
  private Map testMap;&lt;br /&gt;
  public Map getTestMap() {&lt;br /&gt;
    return this.testMap;&lt;br /&gt;
  }&lt;br /&gt;
  public void setTestMap(Map testMap) {&lt;br /&gt;
    this.testMap = testMap;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Use Bean Utils to get property value from object ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import org.apache.rumons.beanutils.BeanUtils;&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.HashMap;&lt;br /&gt;
import java.util.ArrayList;&lt;br /&gt;
import java.util.GregorianCalendar;&lt;br /&gt;
public class BeanUtilsExampleV1 {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    BeanUtilsExampleV1 diff = new BeanUtilsExampleV1();&lt;br /&gt;
    Movie movieBean = diff.prepareData();&lt;br /&gt;
    System.err.println(&amp;quot;Movie Title: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;title&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Year: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;dateOfRelease&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Director: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;director.name&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Director Home Contact: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;director.contactNumber(Home)&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Genre (Thriller): &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;genre(THR)&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Actor 1 name: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;actors[0].name&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Actor 1 worth: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;actors[0].worth&amp;quot;));&lt;br /&gt;
    System.err.println(&amp;quot;Movie Actor 1 other movie 1: &amp;quot; +&lt;br /&gt;
      BeanUtils.getProperty(movieBean, &amp;quot;actors[0].movieCredits[0].title&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
  private Movie prepareData() {&lt;br /&gt;
    Movie movie = new Movie();&lt;br /&gt;
    movie.setTitle(&amp;quot;The Italian Job&amp;quot;);&lt;br /&gt;
    movie.setDateOfRelease(new GregorianCalendar(1969, 0, 1).getTime());&lt;br /&gt;
    // sets the genre&lt;br /&gt;
    Map genre_map = new HashMap();&lt;br /&gt;
    genre_map.put(&amp;quot;THR&amp;quot;, &amp;quot;Thriller&amp;quot;);&lt;br /&gt;
    genre_map.put(&amp;quot;ACT&amp;quot;, &amp;quot;Action&amp;quot;);&lt;br /&gt;
    movie.setGenre(genre_map);&lt;br /&gt;
    // creates the Director&lt;br /&gt;
    Person director = new Person();&lt;br /&gt;
    director.setName(&amp;quot;Peter Collinson&amp;quot;);&lt;br /&gt;
    director.setGender(1);&lt;br /&gt;
    Map director_contacts = new HashMap();&lt;br /&gt;
    director_contacts.put(&amp;quot;Home&amp;quot;, &amp;quot;99922233&amp;quot;);&lt;br /&gt;
    director_contacts.put(&amp;quot;Mobile&amp;quot;, &amp;quot;0343343433&amp;quot;);&lt;br /&gt;
    director.setContactNumber(director_contacts);&lt;br /&gt;
    movie.setDirector(director);&lt;br /&gt;
    // create the actors&lt;br /&gt;
    Actor actor1 = new Actor();&lt;br /&gt;
    actor1.setName(&amp;quot;Michael Caine&amp;quot;);&lt;br /&gt;
    actor1.setGender(1);&lt;br /&gt;
    actor1.setWorth(10000000);&lt;br /&gt;
    List actor1_movies = new ArrayList();&lt;br /&gt;
    Movie movie2 = new Movie();&lt;br /&gt;
    movie2.setTitle(&amp;quot;The Fourth Protocol&amp;quot;);&lt;br /&gt;
    Movie movie3 = new Movie();&lt;br /&gt;
    movie3.setTitle(&amp;quot;Shiner&amp;quot;);&lt;br /&gt;
    actor1_movies.add(movie2);&lt;br /&gt;
    actor1_movies.add(movie3);&lt;br /&gt;
    actor1.setMovieCredits(actor1_movies);&lt;br /&gt;
    Actor actor2 = new Actor();&lt;br /&gt;
    actor2.setName(&amp;quot;Margaret Blye&amp;quot;);&lt;br /&gt;
    actor2.setGender(2);&lt;br /&gt;
    actor2.setWorth(20000000);&lt;br /&gt;
    List actors = new ArrayList();&lt;br /&gt;
    actors.add(actor1);&lt;br /&gt;
    actors.add(actor2);&lt;br /&gt;
    movie.setActors(actors);&lt;br /&gt;
    return movie;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.List;&lt;br /&gt;
public class Actor extends Person {&lt;br /&gt;
  public Actor() {&lt;br /&gt;
  }&lt;br /&gt;
  public List getMovieCredits() { return this.movieCredits; }&lt;br /&gt;
  public void setMovieCredits(List movieCredits) {&lt;br /&gt;
    this.movieCredits = movieCredits;&lt;br /&gt;
  }&lt;br /&gt;
  public long getWorth() { return this.worth; }&lt;br /&gt;
  public void setWorth(long worth) { this.worth = worth; }&lt;br /&gt;
  private List movieCredits;&lt;br /&gt;
  private long worth;&lt;br /&gt;
}&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Date;&lt;br /&gt;
public class Movie {&lt;br /&gt;
  public Movie() {&lt;br /&gt;
  }&lt;br /&gt;
  public Date getDateOfRelease() { return this.dateOfRelease; }&lt;br /&gt;
  public void setDateOfRelease(Date dateOfRelease) {&lt;br /&gt;
    this.dateOfRelease = dateOfRelease;&lt;br /&gt;
  }&lt;br /&gt;
  public String getTitle() { return this.title; }&lt;br /&gt;
  public void setTitle(String title) {this.title = title; }&lt;br /&gt;
  public Person getDirector() { return this.director; }&lt;br /&gt;
  public void setDirector(Person director) { this.director = director; }&lt;br /&gt;
  public List getActors() { return this.actors; }&lt;br /&gt;
  public void setActors(List actors) { this.actors= actors; }&lt;br /&gt;
  public String[] getKeywords() { return this.keywords; }&lt;br /&gt;
  public void setKeyWords(String[] keywords) { this.keywords = keywords; }&lt;br /&gt;
  public Map getGenre() { return this.genre; }&lt;br /&gt;
  public void setGenre(Map genre) { this.genre = genre; }&lt;br /&gt;
  private Date dateOfRelease;&lt;br /&gt;
  private String title;&lt;br /&gt;
  private Person director;&lt;br /&gt;
  private List actors;&lt;br /&gt;
  private String[] keywords;&lt;br /&gt;
  private Map genre;&lt;br /&gt;
}&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import java.util.Map;&lt;br /&gt;
import org.apache.rumons.lang.builder.EqualsBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.HashCodeBuilder;&lt;br /&gt;
import org.apache.rumons.lang.builder.ToStringBuilder;&lt;br /&gt;
public class Person {&lt;br /&gt;
  public Person() {&lt;br /&gt;
  }&lt;br /&gt;
  public String getName() {&lt;br /&gt;
    return this.name == null ? &amp;quot;NoName&amp;quot; : this.name; }&lt;br /&gt;
  public void setName(String name) { this.name = name; }&lt;br /&gt;
  public int getGender() { return this.gender; }&lt;br /&gt;
  public void setGender(int gender) {  // 0 - Indeterminate, 1 - Male, 2 - Female&lt;br /&gt;
    this.gender = (gender &amp;gt; 2 || gender &amp;lt; 0) ? 0 : gender; }&lt;br /&gt;
  public Map getContactNumber() { return this.contactNumber; }&lt;br /&gt;
  public void setContactNumber(Map contactNumber) {&lt;br /&gt;
    this.contactNumber = contactNumber;&lt;br /&gt;
  }&lt;br /&gt;
  /**public boolean equals(Object o) {&lt;br /&gt;
    if(o == this) return true;&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    if(otherPerson.getName().equals(this.name) &amp;amp;&amp;amp;&lt;br /&gt;
       otherPerson.getGender() == this.gender) return true;&lt;br /&gt;
    return false;&lt;br /&gt;
  }*/&lt;br /&gt;
  public boolean equals(Object o) {&lt;br /&gt;
    if(!(o instanceof Person)) return false;&lt;br /&gt;
    Person otherPerson = (Person)o;&lt;br /&gt;
    return new EqualsBuilder()&lt;br /&gt;
               .append(name, otherPerson.getName())&lt;br /&gt;
               .append(gender, otherPerson.getGender())&lt;br /&gt;
               .isEquals();&lt;br /&gt;
  }&lt;br /&gt;
  public int hashCode() {&lt;br /&gt;
    return new HashCodeBuilder(7, 51)&lt;br /&gt;
               .append(name)&lt;br /&gt;
               .append(gender)&lt;br /&gt;
               .append(contactNumber)&lt;br /&gt;
               .toHashCode();&lt;br /&gt;
  }&lt;br /&gt;
  public String toString() {&lt;br /&gt;
    return new ToStringBuilder(this)&lt;br /&gt;
               .append(&amp;quot;Name&amp;quot;, name)&lt;br /&gt;
               .append(&amp;quot;Gender&amp;quot;, gender)&lt;br /&gt;
               .append(&amp;quot;Contact Details&amp;quot;, contactNumber)&lt;br /&gt;
               .toString();&lt;br /&gt;
  }&lt;br /&gt;
  private String name;&lt;br /&gt;
  private int gender;&lt;br /&gt;
  private Map contactNumber;&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>