1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.digester3.annotations.employee;
19
20 import java.util.ArrayList;
21 import java.util.List;
22
23 import org.apache.commons.digester3.annotations.rules.ObjectCreate;
24 import org.apache.commons.digester3.annotations.rules.SetProperty;
25
26
27
28
29 @ObjectCreate( pattern = "employee" )
30 public class Employee
31 {
32
33 private final List<Address> addresses = new ArrayList<Address>();
34
35 @SetProperty( pattern = "employee", attributeName = "name" )
36 private String firstName;
37
38 @SetProperty( pattern = "employee", attributeName = "surname" )
39 private String lastName;
40
41 public void addAddress( Address address )
42 {
43 this.addresses.add( address );
44 }
45
46 public String getFirstName()
47 {
48 return this.firstName;
49 }
50
51 public void setFirstName( String firstName )
52 {
53 this.firstName = firstName;
54 }
55
56 public String getLastName()
57 {
58 return this.lastName;
59 }
60
61 public void setLastName( String lastName )
62 {
63 this.lastName = lastName;
64 }
65
66 public List<Address> getAddresses()
67 {
68 return this.addresses;
69 }
70
71 @Override
72 public boolean equals( Object obj )
73 {
74 if ( this == obj )
75 return true;
76 if ( obj == null )
77 return false;
78 if ( getClass() != obj.getClass() )
79 return false;
80 Employee other = (Employee) obj;
81 if ( this.addresses == null )
82 {
83 if ( other.getAddresses() != null )
84 return false;
85 }
86 else if ( !this.addresses.equals( other.getAddresses() ) )
87 return false;
88 if ( this.firstName == null )
89 {
90 if ( other.getFirstName() != null )
91 return false;
92 }
93 else if ( !this.firstName.equals( other.getFirstName() ) )
94 return false;
95 if ( this.lastName == null )
96 {
97 if ( other.getLastName() != null )
98 return false;
99 }
100 else if ( !this.lastName.equals( other.getLastName() ) )
101 return false;
102 return true;
103 }
104
105 @Override
106 public String toString()
107 {
108 return "Employee [addresses=" + addresses + ", firstName=" + firstName + ", lastName=" + lastName + "]";
109 }
110
111 }