1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.composite;
17
18 /***
19 * A composite that requires that all of its components implement a given
20 * interface. The interface is specified by
21 * {@link StrictlyTypedComposite#getComponentType()}.
22 *
23 * @author Matt Sgarlata
24 * @since Dec 28, 2004
25 */
26 public interface StrictlyTypedComposite {
27
28 /***
29 * Indicates a type which must be implemented by each of the components of
30 * this composite
31 *
32 * @return the type which must be implemented by each of the components of
33 * this composite
34 * @throws CompositeException
35 * if an error occurrs
36 */
37 public Class getComponentType() throws CompositeException;
38
39 }