org.mmbase.module.builders
Class AnnotRel

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.corebuilders.InsRel
                  extended by org.mmbase.module.builders.AnnotRel
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener

public class AnnotRel
extends InsRel

Version:
$Id: AnnotRel.java 34900 2009-05-01 16:29:42Z michiel $
Author:
David van Zeventer
Application:
Tools
Javadoc:

Field Summary
static int HOURS
           
static int MILLIS
           
static int MINUTES
           
static int SECONDS
           
 
Fields inherited from class org.mmbase.module.corebuilders.InsRel
FIELD_DESTINATION, FIELD_DIR, FIELD_DIRECTIONALITY, FIELD_DNUMBER, FIELD_RNUMBER, FIELD_ROLE, FIELD_SNUMBER, FIELD_SOURCE, INSREL_BUILDER, relnumber, usesdir
 
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
AnnotRel()
           
 
Method Summary
 String getGUIIndicator(String field, MMObjectNode node)
          What should a GUI display for this node/field combo.
 Object getValue(MMObjectNode node, String field)
          Provides additional functionality when obtaining field values.
 boolean process(PageInfo sp, Hashtable cmds, Hashtable vars)
          The hook that passes all form related pages to the correct handler.
 String replace(PageInfo sp, StringTokenizer command)
          Obtains a string value by performing the provided command.
 void setDefaults(MMObjectNode node)
          Sets defaults for a node.
 boolean setValue(MMObjectNode node, String field)
          Provides additional functionality when setting field values.
 
Methods inherited from class org.mmbase.module.corebuilders.InsRel
deleteRelationCache, deleteRelationCache, getAllRelationsVector, getAllRelationsVector, getGuessedNumber, getGUIIndicator, getRelated, getRelated, getRelated, getRelated, getRelated, getRelated, getRelatedVector, getRelatedVector, getRelation, getRelationNode, getRelationNodes, getRelationNodes, getRelationNodes, getRelationNodes, getRelations, getRelations, getRelations, getRelations, getRelationsVector, getRelationsVector, hasRelations, init, insert, insert, reldefCorrect, removeNode, setTableName
 
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, 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, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, insert, isExtensionOf, isNodeCached, isNull, isVirtual, loadInitParameters, newFunctionInstance, nodeLocalChanged, nodeRemoteChanged, notify, notify, preCommit, process, removeEventListener, removeField, removeLocalObserver, removeRelations, removeRemoteObserver, removeSyncNodes, safeCache, sendFieldChangeSignal, setDescription, setDescriptions, setFields, setInitParameter, setMaintainer, setPluralNames, setSearchAge, setSingularNames, setUniqueValue, setUniqueValue, 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, 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

HOURS

public static final int HOURS
See Also:
Constant Field Values

MINUTES

public static final int MINUTES
See Also:
Constant Field Values

SECONDS

public static final int SECONDS
See Also:
Constant Field Values

MILLIS

public static final int MILLIS
See Also:
Constant Field Values
Constructor Detail

AnnotRel

public AnnotRel()
Method Detail

setDefaults

public void setDefaults(MMObjectNode node)
Sets defaults for a node. Initializes all numeric fields to 0, and sets the annotation type to MILLIS.

Overrides:
setDefaults in class InsRel
Parameters:
node - The node to set the defaults of.

getGUIIndicator

public String getGUIIndicator(String field,
                              MMObjectNode node)
What should a GUI display for this node/field combo. Displays the pos, end, and length fields as time-values, and the annotation type field as a descriptive string.

Overrides:
getGUIIndicator in class InsRel
Parameters:
node - The node to display
field - the name field of the field to display
Returns:
the display of the node's field as a String, null if not specified

process

public boolean process(PageInfo sp,
                       Hashtable cmds,
                       Hashtable vars)
The hook that passes all form related pages to the correct handler. This method is not supported.

Parameters:
sp - The PageInfo
cmds - the commands (PRC-CMD) to process
vars - variables (PRC-VAR) to use
Returns:
the result value as a String

replace

public String replace(PageInfo sp,
                      StringTokenizer command)
Obtains a string value by performing the provided command. This method is not supported.

Overrides:
replace in class MMObjectBuilder
Parameters:
sp - The PageInfo
command - the command to execute
Returns:
the result value as a String

setValue

public boolean setValue(MMObjectNode node,
                        String field)
Provides additional functionality when setting field values. This method makes sure that the pos, end, and length values have the correct value.

Overrides:
setValue in class MMObjectBuilder
Parameters:
node - the node whose fields are changed
field - the fieldname that is changed
Returns:
true if the call was handled.

getValue

public Object getValue(MMObjectNode node,
                       String field)
Description copied from class: MMObjectBuilder
Provides additional functionality when obtaining field values. This method is called whenever a Node of the builder's type fails at evaluating a getValue() request (generally when a fieldname is supplied that doesn't exist). It allows the system to add 'functions' to be included with a field name, such as 'html(body)' or 'time(lastmodified)'. This method will parse the fieldname, determining functions and calling the MMObjectBuilder.executeFunction(org.mmbase.module.core.MMObjectNode, java.lang.String, java.util.List) method to handle it. Functions in fieldnames can be given in the format 'functionname(fieldname)'. An old format allows 'functionname_fieldname' instead, though this only applies to the text functions 'short', 'html', and 'wap'. Functions can be nested, i.e. 'html(shorted(body))'. Derived builders should override this method only if they want to provide virtual fieldnames. To provide additonal functions, call FunctionProvider.addFunction(org.mmbase.util.functions.Function) instead. See also the source code for ExampleBuilder.

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


MMBase 2.0-SNAPSHOT - null