1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package de.bea.domingo.map;
24
25 import java.util.HashSet;
26 import java.util.Iterator;
27 import java.util.Set;
28
29 import de.bea.domingo.DDocument;
30
31 /***
32 * A set of mappers which itself is a mapper.
33 *
34 * @author <a href="mailto:kriede@users.sourceforge.net">Kurt Riede</a>
35 */
36 public abstract class MapperSet extends BaseDMapper {
37
38 /*** Internal set of related mappers. */
39 private Set mappers = new HashSet();
40
41 /***
42 * Adds the specified element to this set if it is not already present.
43 *
44 * @param mapper mapper to be added to the mapper set
45 * @return <tt>true</tt> if this mapper set did not already contain the
46 * specified mapper.
47 *
48 * @see java.util.Set#add(java.lang.Object)
49 */
50 public final boolean add(final Mapper mapper) {
51 return mappers.add(mapper);
52 }
53
54 /***
55 * {@inheritDoc}
56 * @see de.bea.domingo.map.Mapper#map(de.bea.domingo.DDocument,
57 * java.lang.Object)
58 */
59 public final void map(final DDocument document, final Object object) throws MappingException {
60 Iterator iterator = mappers.iterator();
61 while (iterator.hasNext()) {
62 Mapper mapper = (Mapper) iterator.next();
63 mapper.map(document, object);
64 }
65 }
66
67 /***
68 * {@inheritDoc}
69 * @see de.bea.domingo.map.Mapper#map(java.lang.Object,
70 * de.bea.domingo.DDocument)
71 */
72 public final void map(final Object object, final DDocument document) throws MappingException {
73 Iterator iterator = mappers.iterator();
74 while (iterator.hasNext()) {
75 Mapper mapper = (Mapper) iterator.next();
76 mapper.map(object, document);
77 }
78 }
79 }