org.mmbase.module.core
Class VirtualReferrerBuilder

java.lang.Object
  extended byorg.mmbase.util.functions.FunctionProvider
      extended byorg.mmbase.module.core.MMTable
          extended byorg.mmbase.module.core.MMObjectBuilder
              extended byorg.mmbase.module.core.VirtualBuilder
                  extended byorg.mmbase.module.core.VirtualReferrerBuilder
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener

public class VirtualReferrerBuilder
extends VirtualBuilder

VirtualBuilder is a builder which creates 'virtual' nodes. This class is intended to facilitate practical creation of virtual builders by capturing events that migth otherwise lead to unexpected or faulty behavior.

Since:
MMBase-1.7
Version:
$Id: VirtualReferrerBuilder.java,v 1.5 2005/10/06 17:46:39 michiel Exp $
Author:
Pierre van Rooden

Field Summary
 
Fields inherited from class org.mmbase.module.core.MMObjectBuilder
AGE_PARAMETERS, broadCastChanges, DEFAULT_ALINEA, DEFAULT_EOL, description, descriptions, EVENT_TYPE_LOCAL, EVENT_TYPE_REMOTE, FIELD_NUMBER, FIELD_OBJECT_TYPE, FIELD_OWNER, fields, genericBlobCache, getFunctions, GUI_PARAMETERS, guiFunction, infoFunction, internalVersion, nodeCache, oType, searchAge, SYSTEM_OWNER, TEMPNODE_DEFAULT_SIZE, temporaryNodes, TMP_FIELD_NUMBER, virtual, WRAP_PARAMETERS, wrapFunction
 
Fields inherited from class org.mmbase.module.core.MMTable
maxNodesFromQuery, mmb, storageConnector, tableName
 
Fields inherited from class org.mmbase.util.functions.FunctionProvider
functions
 
Constructor Summary
VirtualReferrerBuilder(MMObjectBuilder originalBuilder)
          Creates an instance of a Virtual builder.
 
Method Summary
 String getGUIIndicator(MMObjectNode node)
          What should a GUI display for this node.
 Object getOriginalBuilder()
          Returns the original builder
 Object getValue(MMObjectNode node, String field)
          Provides additional functionality when obtaining field values.
 
Methods inherited from class org.mmbase.module.core.VirtualBuilder
create, getDBState, getFields, getNewNode, getShortedByte, getShortedText, init, insert
 
Methods inherited from class org.mmbase.module.core.MMObjectBuilder
addEventListener, addField, addLocalObserver, addRemoteObserver, broadcastChanges, checkAddTmpField, clearBlobCache, commit, createAlias, createAlias, delete, equals, equals, executeFunction, executeFunction, fieldLocalChanged, getAncestors, getBlobCache, getClassName, getConfigFile, getConfigResource, getDataTypeCollector, getDBKey, getDBType, getDefaultTeaser, getDefaultUrl, getDescendants, getDescription, getDescription, getDescriptions, getEditFields, getEmptyNode, getField, getFieldNames, getFields, getFields, getFunction, getFunctionParameters, getFunctions, getGUIIndicator, getGUIIndicator, getHardNode, getHardNode, getHTML, getInitParameter, getInitParameters, getInternalVersion, getList, getLocaleGUIIndicator, getLocaleGUIIndicator, getMachineName, getMaintainer, getNewTmpNode, getNextField, getNextField, getNode, getNode, getNode, getNodeFromCache, getNodeGUIIndicator, getNumber, getObjectType, getObjectValue, getParentBuilder, getPluralName, getPluralName, getPluralNames, getRelations_main, getSearchAge, getShort, getSingularName, getSingularName, getSingularNames, getSmartPath, getSortedFields, getSortedListFields, getTmpNode, getURLEncode, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, insert, isExtensionOf, isNodeCached, isVirtual, newFunctionInstance, nodeLocalChanged, nodeRemoteChanged, notify, notify, preCommit, process, putTmpNode, removeEventListener, removeField, removeLocalObserver, removeNode, removeRelations, removeRemoteObserver, removeSyncNodes, removeTmpNode, replace, safeCache, sendFieldChangeSignal, setDefaults, setDescription, setDescriptions, setFields, setInitParameter, setMaintainer, setParentBuilder, setPluralNames, setSearchAge, setSingularNames, setUniqueValue, setUniqueValue, setValue, setValue, setVersion, setXMLPath, testValidData, toString, toString, update, updateFields, wrap
 
Methods inherited from class org.mmbase.module.core.MMTable
count, count, created, getFullTableName, getMMBase, getNode, getNodes, getNodes, getNodes, getNodeType, getStorageConnector, getTableName, search, searchVector, setMMBase, setTableName, size
 
Methods inherited from class org.mmbase.util.functions.FunctionProvider
addFunction, createParameters, getFunction, getFunctions, getFunctionValue
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VirtualReferrerBuilder

public VirtualReferrerBuilder(MMObjectBuilder originalBuilder)
Creates an instance of a Virtual builder. A builder instantiated with this constrcutor is not registered in MMBase and should only be used as a temporary parent for virtual nodes which do not have a long life span.

Method Detail

getGUIIndicator

public String getGUIIndicator(MMObjectNode node)
What should a GUI display for this node.

Overrides:
getGUIIndicator in class VirtualBuilder
Parameters:
node - The node to display
Returns:
either the name field of the node or "no info"

getValue

public Object getValue(MMObjectNode node,
                       String field)
Provides additional functionality when obtaining field values.

Overrides:
getValue in class MMObjectBuilder
Parameters:
node - the node who setfields are queried
field - the fieldname that is requested
Returns:
the result of the 'function', or null if no valid functions could be determined.

getOriginalBuilder

public Object getOriginalBuilder()
Returns the original builder



MMBase build 1.8.1.20060716