4 * Copyright 2006 Sun Microsystems, Inc., 4150 Network Circle, Santa
5 * Clara, California 95054, U.S.A. All rights reserved.
7 * Sun Microsystems, Inc. has intellectual property rights relating to
8 * technology embodied in the product that is described in this
9 * document. In particular, and without limitation, these
10 * intellectual property rights may include one or more of the
11 * U.S. patents listed at http://www.sun.com/patents and one or more
12 * additional patents or pending patent applications in the U.S. and
15 * U.S. Government Rights - Commercial software.
16 * Government users are subject to the Sun Microsystems, Inc. standard
17 * license agreement and applicable provisions of the FAR and its
18 * supplements. Use is subject to license terms. Sun, Sun
19 * Microsystems, the Sun logo and Java are trademarks or registered
20 * trademarks of Sun Microsystems, Inc. in the U.S. and other
23 * This product is covered and controlled by U.S. Export Control laws
24 * and may be subject to the export or import laws in other countries.
25 * Nuclear, missile, chemical biological weapons or nuclear maritime
26 * end uses or end users, whether direct or indirect, are strictly
27 * prohibited. Export or reexport to countries subject to
28 * U.S. embargo or to entities identified on U.S. export exclusion
29 * lists, including, but not limited to, the denied persons and
30 * specially designated nationals lists is strictly prohibited.
33 package dstm2.factory;
36 * User-defined factories use this adapter interface.
37 * @author Maurice Herlihy
39 public interface Adapter<T> {
41 * A Setter<V> object represents <code>void setMumble(V value)</code> method.
43 public interface Setter<V> {
47 public void call(V x);
51 * A Getter<V> object represents <code>V getMumble()</code> method.
53 public interface Getter<V> {
62 * @param methodName Name of setter, e.g., "setValue"
63 * @param _class field class, e.g., <code>int.TYPE</code>
64 * @return <code>Setter<V></code> object to call.
66 public <V> Setter<V> makeSetter(String methodName, Class<V> _class);
70 * @param methodName Name of getter, e.g., "getValue"
71 * @param _class field class, e.g., <code>int.TYPE</code>
72 * @return <code>Getter<V></code> object to call.
74 public <V> Getter<V> makeGetter(String methodName, Class<V> _class);