1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.morph.reflect.reflectors;
17
18 import java.util.Iterator;
19
20 import net.sf.morph.reflect.ContainerReflector;
21
22 /**
23 * <p>Convenient base class for ContainerReflectors. Validates arguments and takes
24 * care of logging and exception handling. All types of ContainerReflectors
25 * can use this class as a Base, because all methods defined on subinterfaces
26 * of ContainerReflector are supported by this base class. Note, however, that
27 * this class <em>only</em> states that it implements ContainerReflector so that
28 * subclasses can choose which interfaces they wish to expose.</p>
29 *
30 * @author Matt Sgarlata
31 * @since Nov 20, 2004
32 */
33 public abstract class BaseContainerReflector extends BaseReflector implements
34 ContainerReflector {
35
36 protected abstract Class getContainedTypeImpl(Class clazz) throws Exception;
37
38 protected abstract Iterator getIteratorImpl(Object container) throws Exception;
39 }