org.mmbase.util.functions
Class ExampleBuilder

java.lang.Object
  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 />
   </mm:nodelistfunction>
 </mm:listnodes>
 
This is done in the MyNews examples (on the news builder), and example JSP's can be found on /mmexamples/taglib/functions.jsp.

Since:
MMBase-1.7
Version:
$Id: ExampleBuilder.java,v 1.13 2006/01/13 15:37:24 pierre Exp $
Author:
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
functions
 
Constructor Summary
ExampleBuilder()
           
 
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

LISTLATEST_PARAMETERS

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.


SUMFIELDS_PARAMETERS

protected static final Parameter[] SUMFIELDS_PARAMETERS

listLatestFunction

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


sumFieldsFunction

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

Constructor Detail

ExampleBuilder

public ExampleBuilder()


MMBase build 1.8.1.20060716