org.mmbase.module.builders
Class ReferredAttachments

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

public class ReferredAttachments
extends Attachments

An attachment builder where, aside from storing the binary data in the database, you can point out a binary resource on another server using an url. Basic support for sucha field is in AbstractServletBuidler. This builder defines a default url field ('url'), has a better GUI function, and determines file size, filename, and mimetype from a referred to file when the url changes.

Since:
MMBase-1.8
Version:
$Id: ReferredAttachments.java 35335 2009-05-21 08:14:41Z michiel $
Author:
Pierre van Rooden

Field Summary
static String DEFAULT_EXTERNAL_URL_FIELD
           
 
Fields inherited from class org.mmbase.module.builders.Attachments
ATTACHMENTS_HANDLE_FIELDS, 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
ReferredAttachments()
           
 
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  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'
 boolean init()
          Sets a default for the 'externalUrlField' property
 
Methods inherited from class org.mmbase.module.builders.Attachments
executeFunction, getAssociation, getDefaultPath, getGuiForNewAttachment, getHandleFields
 
Methods inherited from class org.mmbase.module.builders.AbstractServletBuilder
addFileName, commit, getBinary, getDefaultFileName, getFileName, getGUIIndicator, getGUIIndicator, getMimeType, getServletPath, getServletPath, getSession, getSuperGUIIndicator, 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

DEFAULT_EXTERNAL_URL_FIELD

public static final String DEFAULT_EXTERNAL_URL_FIELD
See Also:
Constant Field Values
Constructor Detail

ReferredAttachments

public ReferredAttachments()
Method Detail

init

public boolean init()
Sets a default for the 'externalUrlField' property

Overrides:
init in class AbstractServletBuilder
Returns:
true if init was completed, false if uncompleted.
See Also:
MMObjectBuilder.create()

checkHandle

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

Overrides:
checkHandle in class Attachments

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'

Overrides:
getSGUIIndicator in class Attachments


MMBase 2.0-SNAPSHOT - null