org.mmbase.module.builders
Class Attachments

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.AbstractServletBuilder
                  extended by org.mmbase.module.builders.Attachments
All Implemented Interfaces:
EventListener, NodeEventListener, RelationEventListener
Direct Known Subclasses:
ReferredAttachments, Resources

public class Attachments
extends AbstractServletBuilder

This builder can be used for 'attachments' builders. That is builders which have a 'handle' field and are associated with the 'attachments servlet.

Version:
$Id: Attachments.java 40155 2009-12-08 15:55:13Z michiel $
Author:
cjr@dds.nl, Michiel Meeuwissen

Field Summary
protected  Set<String> ATTACHMENTS_HANDLE_FIELDS
           
static String FIELD_SIZE
           
 
Fields inherited from class org.mmbase.module.builders.AbstractServletBuilder
externalUrlField, FIELD_FILENAME, FIELD_HANDLE, FIELD_MIMETYPE, FORMAT_PARAMETERS, GUI_PARAMETERS, legalizeFileName, MIMETYPE_PARAMETERS, PROPERTY_EXTERNAL_URL_FIELD, usesBridgeServlet
 
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, 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
Attachments()
           
 
Method Summary
protected  void checkHandle(MMObjectNode node)
          If mimetype is not filled on storage in the database, then we can try to do smart things.
protected  Object executeFunction(MMObjectNode node, String function, List<?> args)
          Implements 'mimetype' function (Very simply for attachments, because they have the field).
protected  String getAssociation()
          This functions should return a string identifying where it is for.
protected  String getDefaultPath()
          If no servlet path can be found via the association (if the servlet did not 'associate' itself with something, like servdb), then the getServletPath function will fall back to this.
protected  String getGuiForNewAttachment(MMObjectNode node)
           
protected  Set<String> getHandleFields()
          Returns the fields which tell something about the 'handle' field, and can be calculated from it.
protected  String getSGUIIndicator(MMObjectNode node, Parameters a)
          'Servlet' builders need a way to transform security to the servlet, in the gui functions, so they have to implement the 'SGUIIndicators'
 
Methods inherited from class org.mmbase.module.builders.AbstractServletBuilder
addFileName, commit, getBinary, getDefaultFileName, getFileName, getGUIIndicator, getGUIIndicator, getMimeType, getServletPath, getServletPath, getSession, getSuperGUIIndicator, init, insert
 
Methods inherited from class org.mmbase.module.core.MMObjectBuilder
addEventListener, addField, addLocalObserver, addRemoteObserver, broadcastChanges, checkAddTmpField, clearBlobCache, create, createAlias, createAlias, delete, equals, equals, 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, getValue, getVersion, getWAP, getXMLPath, hasField, hashCode, hashCode, hostname_function, insert, isExtensionOf, isNodeCached, isNull, isVirtual, loadInitParameters, newFunctionInstance, nodeLocalChanged, nodeRemoteChanged, notify, 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

FIELD_SIZE

public static final String FIELD_SIZE
See Also:
Constant Field Values

ATTACHMENTS_HANDLE_FIELDS

protected final Set<String> ATTACHMENTS_HANDLE_FIELDS
Constructor Detail

Attachments

public Attachments()
Method Detail

getAssociation

protected String getAssociation()
Description copied from class: AbstractServletBuilder
This functions should return a string identifying where it is for. This is used when communicating with MMBaseServlet, to find the right servlet. For example 'images' or 'attachments'.

Specified by:
getAssociation in class AbstractServletBuilder

getDefaultPath

protected String getDefaultPath()
Description copied from class: AbstractServletBuilder
If no servlet path can be found via the association (if the servlet did not 'associate' itself with something, like servdb), then the getServletPath function will fall back to this. For example 'img.db' or 'attachment.db'.

Specified by:
getDefaultPath in class AbstractServletBuilder

getGuiForNewAttachment

protected String getGuiForNewAttachment(MMObjectNode node)
                                 throws IOException
Throws:
IOException
Since:
MMBase-1.9.2

getSGUIIndicator

protected String getSGUIIndicator(MMObjectNode node,
                                  Parameters a)
Description copied from class: AbstractServletBuilder
'Servlet' builders need a way to transform security to the servlet, in the gui functions, so they have to implement the 'SGUIIndicators'

Specified by:
getSGUIIndicator in class AbstractServletBuilder

getHandleFields

protected Set<String> getHandleFields()
Description copied from class: AbstractServletBuilder
Returns the fields which tell something about the 'handle' field, and can be calculated from it.

Specified by:
getHandleFields in class AbstractServletBuilder

checkHandle

protected void checkHandle(MMObjectNode node)
If mimetype is not filled on storage in the database, then we can try to do smart things.

Overrides:
checkHandle in class AbstractServletBuilder

executeFunction

protected Object executeFunction(MMObjectNode node,
                                 String function,
                                 List<?> args)
Implements 'mimetype' function (Very simply for attachments, because they have the field).

Overrides:
executeFunction in class AbstractServletBuilder
Since:
MMBase-1.6.1
See Also:
MMObjectBuilder.executeFunction(org.mmbase.module.core.MMObjectNode, java.lang.String, java.util.List)


MMBase 2.0-SNAPSHOT - null