org.mmbase.module.builders
Class Properties

java.lang.Object
  extended by org.mmbase.util.functions.FunctionProvider
      extended by org.mmbase.module.core.MMTable
          extended by org.mmbase.module.core.MMObjectBuilder
              extended by org.mmbase.module.builders.Properties
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener

public class Properties
extends MMObjectBuilder

The properties builder can contain key/value pairs for any other node in MMBase. When using bridge, properties can be set and get using the 'nodemanager' function 'get' and 'set' on this builder. In core, the (legacy?) methods on MMObjectNode should still work. Example code for bridge:

      <mm:cloud rank="administrator">
        <div>
          <mm:import id="key">test</mm:import>
          <mm:import id="value"><mm:time time="now" /></mm:import>
          <mm:listnodes type="news" max="1">
            <p>TEST: <mm:function nodemanager="properties" name="get" referids="_node@node,key" /></p>
            <p>TEST: <mm:function nodemanager="properties" name="set" referids="_node@node,key,value" /></p>
            <p>TEST: <mm:function nodemanager="properties" name="get" referids="_node@node,key" /></p>
          </mm:listnodes>
        </div>
      </mm:cloud>

      <mm:nodelistfunction nodemanager="properties" name="list" referids="_node@node">
        <mm:field name="key" />:<mm:field name="value" />
      </mm:nodelistfunction>
 

Version:
$Id: Properties.java 43062 2010-08-06 09:43:28Z michiel $

Field Summary
protected static Parameter<Object> DEFAULT
           
protected static Parameter[] GET_PARAMETERS
           
protected static Parameter<String> KEY
           
protected static Parameter[] LIST_PARAMETERS
           
protected static Parameter<Node> NODE
           
protected static Parameter[] SET_PARAMETERS
           
protected static Parameter<Object> VALUE
           
 
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_INDICATOR, GUI_PARAMETERS, guiFunction, infoFunction, internalVersion, nodeCache, oType, pluralNames, searchAge, singularNames, SYSTEM_OWNER, TEMPNODE_DEFAULT_SIZE, TMP_FIELD_EXISTS, 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
Properties()
           
 
Method Summary
 String getGUIIndicator(MMObjectNode node)
          What should a GUI display for this node.
protected  NodeList getPropertyNodes(Node node)
           
protected  Object getValue(List<Node> prop)
           
protected  Object getValue(Node node, String key)
           
protected  List<Node> getValueNode(Node node, String key)
           
 void notify(NodeEvent event)
           
 
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, getDBState, getDBType, getDefaultTeaser, getDefaultUrl, getDescendants, getDescription, getDescription, getDescriptions, getEmptyNode, getField, getFieldNames, getFields, getFields, getFunction, getFunctionParameters, getFunctions, getGUIIndicator, getGUIIndicator, getHTML, getInitParameter, getInitParameters, 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, getShortedInputStream, getShortedText, getSingularName, getSingularName, getSingularNames, getSmartPath, getTmpNode, getURLEncode, getValue, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, init, insert, insert, isExtensionOf, isNodeCached, isNull, isVirtual, loadInitParameters, newFunctionInstance, nodeLocalChanged, nodeRemoteChanged, notify, preCommit, process, removeEventListener, removeField, removeLocalObserver, removeNode, removeRelations, removeRemoteObserver, removeSyncNodes, replace, safeCache, sendFieldChangeSignal, setDefaults, setDescription, setDescriptions, setFields, setInitParameter, setMaintainer, setPluralNames, setSearchAge, setSingularNames, setUniqueValue, setUniqueValue, setValue, setValue, setVersion, setXMLPath, shutdown, 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

NODE

protected static final Parameter<Node> NODE
Since:
MMBase-1.8.6

KEY

protected static final Parameter<String> KEY

VALUE

protected static final Parameter<Object> VALUE

DEFAULT

protected static final Parameter<Object> DEFAULT

LIST_PARAMETERS

protected static final Parameter[] LIST_PARAMETERS

GET_PARAMETERS

protected static final Parameter[] GET_PARAMETERS

SET_PARAMETERS

protected static final Parameter[] SET_PARAMETERS
Constructor Detail

Properties

public Properties()
Method Detail

getGUIIndicator

public String getGUIIndicator(MMObjectNode node)
Description copied from class: MMObjectBuilder
What should a GUI display for this node. Default the value returned is GUI_INDICATOR ('no info'). Override this to display your own choice (see Images.java). You may want to override MMObjectBuilder.getNodeGUIIndicator(org.mmbase.module.core.MMObjectNode, org.mmbase.util.functions.Parameters) for more flexibility.

Overrides:
getGUIIndicator in class MMObjectBuilder
Parameters:
node - The node to display
Returns:
the display of the node as a String

getValueNode

protected List<Node> getValueNode(Node node,
                                  String key)
Since:
MMBase-1.8.6

getValue

protected Object getValue(List<Node> prop)
Since:
MMBase-1.8.6

getValue

protected Object getValue(Node node,
                          String key)
Since:
MMBase-1.8.6

getPropertyNodes

protected NodeList getPropertyNodes(Node node)
Since:
MMBase-1.9.1

notify

public void notify(NodeEvent event)
Specified by:
notify in interface NodeEventListener
Overrides:
notify in class MMObjectBuilder
See Also:
here we handle all the backward compatibility stuff. this method covers for both node and relation events.


MMBase 2.0-SNAPSHOT - null