1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.digester3.annotations.catalog;
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.SetNext;
25
26
27
28
29 @ObjectCreate.List( @ObjectCreate( pattern = "catalog" ) )
30 public final class Catalog
31 {
32
33 private final List<Item> items = new ArrayList<Item>();
34
35 @SetNext( { AudioVisual.class, Book.class } )
36 public void addItem( Item item )
37 {
38 this.items.add( item );
39 }
40
41 public List<Item> getItems()
42 {
43 return this.items;
44 }
45
46 @Override
47 public boolean equals( Object obj )
48 {
49 if ( this == obj )
50 return true;
51 if ( obj == null )
52 return false;
53 if ( getClass() != obj.getClass() )
54 return false;
55 Catalog other = (Catalog) obj;
56 if ( this.items == null )
57 {
58 if ( other.getItems() != null )
59 return false;
60 }
61 else if ( !this.items.equals( other.getItems() ) )
62 return false;
63 return true;
64 }
65
66 @Override
67 public String toString()
68 {
69 return "Catalog [items=" + items + "]";
70 }
71
72 public void print()
73 {
74 System.out.println( "This catalog has " + this.items.size() + " items" );
75
76 for ( Item item : this.items )
77 {
78 item.print();
79 }
80 }
81
82 }