KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > module > core > VirtualReferrerBuilder


1 /**
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.module.core;
11
12 import java.util.*;
13
14 /**
15  * VirtualBuilder is a builder which creates 'virtual' nodes.
16  * This class is intended to facilitate practical creation of virtual
17  * builders by capturing events that migth otherwise lead to unexpected or
18  * faulty behavior.
19  *
20  * @author Pierre van Rooden
21  * @version $Id: VirtualReferrerBuilder.java,v 1.5 2005/10/06 17:46:39 michiel Exp $
22  * @since MMBase-1.7
23  */

24 public class VirtualReferrerBuilder extends VirtualBuilder {
25
26     private MMObjectBuilder originalBuilder = null;
27
28     /**
29      * Creates an instance of a Virtual builder.
30      * A builder instantiated with this constrcutor is not registered in MMBase
31      * and should only be used as a temporary parent for virtual nodes which
32      * do not have a long life span.
33      */

34     public VirtualReferrerBuilder(MMObjectBuilder originalBuilder) {
35         super(originalBuilder.mmb);
36         this.originalBuilder = originalBuilder;
37         this.tableName = "virtual_" + originalBuilder.getTableName();
38         fields.clear();
39         fields.putAll(originalBuilder.fields);
40     }
41
42     /**
43      * What should a GUI display for this node.
44      * @param node The node to display
45      * @return either the name field of the node or "no info"
46      */

47     public String JavaDoc getGUIIndicator(MMObjectNode node) {
48         return originalBuilder.getGUIIndicator(node);
49     }
50
51     /**
52      * Provides additional functionality when obtaining field values.
53      * @param node the node who setfields are queried
54      * @param field the fieldname that is requested
55      * @return the result of the 'function', or null if no valid functions could be determined.
56      */

57     public Object JavaDoc getValue(MMObjectNode node,String JavaDoc field) {
58         return originalBuilder.getValue(node, field);
59     }
60
61     /**
62      * Returns the original builder
63      */

64     public Object JavaDoc getOriginalBuilder() {
65         return originalBuilder;
66     }
67 }
68
Popular Tags