Class ExampleBuilder

  extended byorg.mmbase.util.functions.FunctionProvider
      extended byorg.mmbase.module.core.MMTable
          extended byorg.mmbase.module.core.MMObjectBuilder
              extended byorg.mmbase.util.functions.ExampleBuilder
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener

public final class ExampleBuilder
extends MMObjectBuilder

Example builder implementation implementing functions. Lots of people are sooner or earlier trying to make their own builder implementation. Especially whith the advent the 'function' tags in 1.7 it would be nice that people could seen an example of how that could be done. To try it out, take a builder xml and add <classfile>org.mmbase.util.functions.ExampleBuilder</classfile> and e.g. a jsp like this:

 <mm:listnodes type="pools" max="1">
  < mm:import id="max">100</mm:import>
   <mm:nodelistfunction referids="max" name="latest">
    -- <mm:field name="number" /><br />
This is done in the MyNews examples (on the news builder), and example JSP's can be found on /mmexamples/taglib/functions.jsp.

$Id:,v 1.13 2006/01/13 15:37:24 pierre Exp $
Michiel Meeuwissen
See Also:
For examples on hot to add functions to a builder without extending it.

Field Summary
protected static Parameter[] LISTLATEST_PARAMETERS
          Parameter constant for use bij the 'latest' function.
protected  Function listLatestFunction
          Implementation of 'builder function', which can be compared with a static method in java.
protected static Parameter[] SUMFIELDS_PARAMETERS
protected  Function sumFieldsFunction
          Implementation of 'node function', which can be compared with a instance method in java.
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
Constructor Summary
Methods inherited from class org.mmbase.module.core.MMObjectBuilder
addEventListener, addField, addLocalObserver, addRemoteObserver, broadcastChanges, checkAddTmpField, clearBlobCache, commit, create, createAlias, createAlias, delete, equals, equals, executeFunction, executeFunction, fieldLocalChanged, getAncestors, getBlobCache, getClassName, getConfigFile, getConfigResource, getDataTypeCollector, getDBKey, getDBState, getDBType, getDefaultTeaser, getDefaultUrl, getDescendants, getDescription, getDescription, getDescriptions, getEditFields, getEmptyNode, getField, getFieldNames, getFields, getFields, getFunction, getFunctionParameters, getFunctions, getGUIIndicator, getGUIIndicator, getGUIIndicator, getHardNode, getHardNode, getHTML, getInitParameter, getInitParameters, getInternalVersion, getList, getLocaleGUIIndicator, getLocaleGUIIndicator, getMachineName, getMaintainer, getNewNode, getNewTmpNode, getNextField, getNextField, getNode, getNode, getNode, getNodeFromCache, getNodeGUIIndicator, getNumber, getObjectType, getObjectValue, getParentBuilder, getPluralName, getPluralName, getPluralNames, getRelations_main, getSearchAge, getShort, getShortedByte, getShortedText, getSingularName, getSingularName, getSingularNames, getSmartPath, getSortedFields, getSortedListFields, getTmpNode, getURLEncode, getValue, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, init, insert, 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

Field Detail


protected static final Parameter[] LISTLATEST_PARAMETERS
Parameter constant for use bij the 'latest' function. This constant must be protected, otherwise it is pickup up by the automatich function detection.


protected static final Parameter[] SUMFIELDS_PARAMETERS


protected final Function listLatestFunction
Implementation of 'builder function', which can be compared with a static method in java.


protected final Function sumFieldsFunction
Implementation of 'node function', which can be compared with a instance method in java.

Constructor Detail


public ExampleBuilder()

MMBase build