1
2
3
4 package net.mlw.vlh.adapter.util;
5
6 import net.mlw.vlh.ValueListInfo;
7
8 /***
9 * This class is used in
10 * <code>net.mlw.vlh.adapter.jdbc.objectWrapper.DefaultWrapperAdapter</code>
11 * Using this wrapper you can replace record in valuelist with your record.
12 * Normally you select only ids and valulist is populated with the wrapped
13 * objects, that has selected id.
14 * <p>
15 * <li><em>
16 * Using wrappers is recommended in cases, when your hibernate hql is too complex, and you cannot controll all composite joins.
17 * Then you would appreciate jdbc with the cunjuction of wrappers that allow you to call third party managers, that return you wanted object.
18 * </em>
19 * </li>
20 * </p>
21 * <p>
22 * To pass additional parameters to the object wrapper, adapter will always set
23 * actuall ValueListInfo before calling <code>getWrappedRecord</code> method.
24 * </p>
25 * <p>
26 * The ObjectToBeWrapped is determined in adapter. It this time it could be a <code>ResultSet</code> or <b>one column</b> of the record.
27 * </p>
28 * @see net.mlw.vlh.adapter.jdbc.objectWrapper.DefaultWrapperAdapter#setWrapper(ObjectWrapper)
29 * @see net.mlw.vlh.adapter.jdbc.objectWrapper.DefaultWrapperAdapter
30 * @see net.mlw.vlh.adapter.util.ObjectValidator
31 *
32 * @author Andrej Zachar
33 * @version $Revision: 1.4 $ $Date: 2005/04/01 09:15:22 $
34 */
35 public interface ObjectWrapper {
36 /***
37 * This method wrap passed record,the type of this record you can specify in adpater's settings.
38 * Default adapter that use this interface is <code>net.mlw.vlh.adapter.jdbc.objectWrapper.DefaultWrapperAdapter</code>
39 * @param objectToBeWrapped represent original object
40 * <ol>
41 * It could be a
42 * <li>whole <code>ResultSet</code></li>
43 * or
44 * <li><b>one column</b> of the record from the ResultSet.</li>
45 * </ol>
46 * @return object that represent the final "substituted" record in your
47 * valuelist.
48 * @see net.mlw.vlh.adapter.jdbc.objectWrapper.DefaultWrapperAdapter#setWrapResultSet(boolean)
49 */
50 public Object getWrappedRecord(Object objectToBeWrapped);
51
52 /***
53 * @param info ValueListInfo used to pass additional parameter to the
54 * wrapper from your controler.
55 */
56 public void setValueListInfo(ValueListInfo info);
57 }