com.smartgwt.client.widgets.form.fields

## Class FileItem

- java.lang.Object
- - com.smartgwt.client.core.JsObject
  - - com.smartgwt.client.core.DataClass
    - - com.smartgwt.client.core.RefDataClass
      - - com.smartgwt.client.widgets.form.fields.FormItem
        - - com.smartgwt.client.widgets.form.fields.CanvasItem
          - - com.smartgwt.client.widgets.form.fields.FileItem

- All Implemented Interfaces:
    com.google.gwt.event.shared.HasHandlers, HasBlurHandlers, HasCanEditChangedHandlers, HasChangedHandlers, HasChangeHandlers, HasClickHandlers, HasDoubleClickHandlers, HasEditorEnterHandlers, HasEditorExitHandlers, HasFocusHandlers, HasIconClickHandlers, HasIconKeyPressHandlers, HasItemHoverHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasPendingStatusChangedHandlers, HasPickerIconClickHandlers, HasReadOnlyDisplayChangedHandlers, HasShowValueHandlers, HasTitleClickHandlers, HasTitleDoubleClickHandlers, HasTitleHoverHandlers, HasValueHoverHandlers, HasValueIconClickHandlers
  Direct Known Subclasses:
    ViewFileItem

      public class FileItem
      extends CanvasItem

  Binary data interface for use in DynamicForms. Allows users to select a single file for upload. In read-only mode (canEdit:false), can display the contents of "imageFile" fields.

  Editable mode

  The `editForm` will be automatically generated and displayed as `this.canvas`, allowing the user to select file(s) to upload.

  See the `Upload Overview` for information on using this control.

  Read-only mode

  For fields of type `"blob"` the raw data value will be displayed in the generated `displayForm`.

  For other fields, the `displayCanvas` will be displayed.

  For `"imageFile"` fields with `showFileInline` set to true, the image-file will be streamed and displayed inline within the displayCanvas.

  Otherwise, the displayCanvas will render out `View` and `Download` icons and the fileName.

  See Also:
    `Upload overview and related methods`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `FormItem.CustomStateGetter, FormItem.StateCustomizer`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `scClassName, warnOnEditorTypeConversion, warnOnEditorTypeConversionDefault`

    - ### Fields inherited from class com.smartgwt.client.core.RefDataClass

      `id`

    - ### Fields inherited from class com.smartgwt.client.core.DataClass

      `factoryCreated, factoryProperties, readOnly`

    - ### Fields inherited from class com.smartgwt.client.core.JsObject

      `jsObj`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileItem()`
    `FileItem(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `FileItem(java.lang.String name)`
    `FileItem(java.lang.String name, java.lang.String title)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, Canvas defaults)` Changes the defaults for Canvas AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, DrawItem defaults)` Changes the defaults for DrawItem AutoChildren named `autoChildName`.
    `static void` | `changeAutoChildDefaults(java.lang.String autoChildName, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `static void` | `changePickerIconDefaults(FormItemIcon defaults)`
    `java.lang.String` | `getAccept()` A comma-separated list of valid MIME types, used as a filter for the file picker window.
    `Canvas` | `getDisplayCanvas()` The `Canvas` created automatically when `canEdit` is false and the field is of any type other than "blob".
    `DynamicForm` | `getDisplayForm()` The `DynamicForm` created automatically when `canEdit` is false and the field is of type "blob".
    `StaticTextItem` | `getDisplayItem()` The `StaticTextItem` created automatically and displayed in the `displayForm` when `canEdit` is false and the field type is "blob".
    `java.lang.String` | `getDownloadIconSrc()` Returns the URL for an Icon that will allow the file to be downloaded
    `DynamicForm` | `getEditForm()` The `DynamicForm` created automatically when `canEdit` is true.
    `java.lang.Boolean` | `getMultiple()` When true, allow the file-selection dialog shelled by the browser to select multiple files.
    `static FileItem` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `java.lang.Boolean` | `getShouldSaveValue()` Should this item's value be saved in the form's values and hence returned from `form.getValues()`?
    `java.lang.Boolean` | `getShowFileInline()` Indicates whether to stream the image and display it inline or to display the View and Download icons.
    `UploadItem` | `getUploadItem()` The `UploadItem` created automatically and displayed in the `editForm` when `canEdit` is true.
    `java.lang.String` | `getViewIconSrc()` Returns the URL for an Icon that will allow the file to be viewed.
    `void` | `setAccept(java.lang.String accept)` A comma-separated list of valid MIME types, used as a filter for the file picker window.
    `static void` | `setDefaultProperties(FileItem fileItemProperties)` Class level method to set the default properties of this class.
    `void` | `setDownloadIconSrc(java.lang.String downloadIconSrc)` Returns the URL for an Icon that will allow the file to be downloaded
    `void` | `setMultiple(java.lang.Boolean multiple)` When true, allow the file-selection dialog shelled by the browser to select multiple files.
    `void` | `setShouldSaveValue(java.lang.Boolean shouldSaveValue)` Should this item's value be saved in the form's values and hence returned from `form.getValues()`?
    `void` | `setShowFileInline(java.lang.Boolean showFileInline)` Indicates whether to stream the image and display it inline or to display the View and Download icons.
    `void` | `setViewIconSrc(java.lang.String viewIconSrc)` Returns the URL for an Icon that will allow the file to be viewed.

    - ### Methods inherited from class com.smartgwt.client.widgets.form.fields.CanvasItem

      `addCanEditChangedHandler, addReadOnlyDisplayChangedHandler, addShowValueHandler, createCanvas, getApplyPromptToCanvas, getAutoDestroy, getCanvas, getEditCriteriaInInnerForm, getHeight, getHeightAsString, getOverflow, getPrompt, hasAdvancedCriteria, isFocused, setApplyPromptToCanvas, setAutoDestroy, setCanEditCriterionPredicate, setCanvas, setCriterionGetter, setCriterionSetter, setDefaultProperties, setEditCriteriaInInnerForm, setHeight, setHeight, setOverflow, setPrompt, setShouldDisableCanvasCustomizer, setupCanvasConstructor, storeValue, storeValue, storeValue`

    - ### Methods inherited from class com.smartgwt.client.widgets.form.fields.FormItem

      `_getValue, addBlurHandler, addChangedHandler, addChangeHandler, addClickHandler, addDoubleClickHandler, addEditorEnterHandler, addEditorExitHandler, addFocusHandler, addIconClickHandler, addIconKeyPressHandler, addItemHoverHandler, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addPendingStatusChangedHandler, addPickerIconClickHandler, addTitleClickHandler, addTitleDoubleClickHandler, addTitleHoverHandler, addValueHoverHandler, addValueIconClickHandler, asSGWTComponent, blurItem, canEditCriterion, clearErrors, clearValue, disable, disableIcon, enable, enableIcon, error, error, errorIfNotCreated, focusInItem, getAccessKey, getAlign, getAllowExpressions, getAlwaysFetchMissingValues, getApplyAlignToText, getApplyHeightToTextBox, getAriaRole, getAttribute, getAttributeAsBoolean, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsObject, getAttributeAsString, getAutoComplete, getBrowserInputType, getBrowserSpellCheck, getCanEdit, getCanEditOpaqueValues, getCanFocus, getCanSelectText, getCanvasAutoChild, getCellHeight, getCellStyle, getChangeOnKeypress, getClassName, getClipStaticValue, getClipTitle, getConfig, getContainerWidget, getControlStyle, getCriteriaField, getCriterion, getCriterion, getCursorPosition, getCustomState, getDataPath, getDateFormatter, getDecimalPad, getDecimalPrecision, getDefaultIconSrc, getDisabled, getDisableIconsOnReadOnly, getDisplayField, getDisplayFieldName, getDisplayValue, getDisplayValue, getEditorTypeConfig, getEditPendingCSSText, getEditProxyConstructor, getEmptyDisplayValue, getEmptyValueIcon, getEndRow, getErrorIconHeight, getErrorIconSrc, getErrorIconWidth, getErrorMessageWidth, getErrors, getExportFormat, getFetchMissingValues, getFieldName, getFilterLocally, getForeignDisplayField, getForm, getFormat, getFormItemAutoChild, getFullDataPath, getGlobalTabIndex, getGridColNum, getGridRowNum, getHidden, getHint, getHintStyle, getHoverAlign, getHoverDelay, getHoverHeight, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getIcon, getIconHeight, getIconHSpace, getIconPageRect, getIconPrompt, getIconRect, getIconVAlign, getIconWidth, getImageURLPrefix, getImageURLSuffix, getImplicitSave, getImplicitSaveOnBlur, getInputFormat, getLeft, getLoadingDisplayValue, getLocateItemBy, getMultipleValueSeparator, getName, getOperator, getOptionCriteria, getOptionFilterContext, getOptionOperationId, getOriginalValueMessage, getPageLeft, getPageRect, getPageTop, getPicker, getPickerIconHeight, getPickerIconName, getPickerIconPrompt, getPickerIconProperties, getPickerIconSrc, getPickerIconStyle, getPickerIconWidth, getPixelHeight, getPixelWidth, getPrintTextBoxStyle, getPrintTitleStyle, getReadOnlyDisplay, getReadOnlyHover, getReadOnlyTextBoxStyle, getRect, getRedrawOnChange, getRejectInvalidValueOnChange, getRequired, getRequiredMessage, getRowSpan, getSaveOnEnter, getScClassName, getSelectedRecord, getSelectOnClick, getSelectOnFocus, getShowClippedTitleOnHover, getShowClippedValueOnHover, getShowDeletions, getShowDisabled, getShowErrorIcon, getShowErrorStyle, getShowErrorText, getShowFocused, getShowFocusedErrorState, getShowFocusedIcons, getShowFocusedPickerIcon, getShowHint, getShowIcons, getShowOldValueInHover, getShowOverIcons, getShowPending, getShowPickerIcon, getShowRTL, getShowTitle, getShowValueIconOnly, getStartRow, getStaticHeight, getStopOnError, getSupportsCutPasteEvents, getSuppressValueIcon, getSynchronousValidation, getTabIndex, getTextAlign, getTextBoxStyle, getTimeFormatter, getTitle, getTitleAlign, getTitleColSpan, getTitleOrientation, getTitleStyle, getTitleVAlign, getTooltip, getTop, getType, getUseDisabledHintStyleForReadOnly, getValidateOnChange, getValidateOnExit, getValidOperators, getVAlign, getValue, getValueAsRecordList, getValueDeselectedCSSText, getValueField, getValueFieldName, getValueIconHeight, getValueIconLeftPadding, getValueIconRightPadding, getValueIconSize, getValueIconWidth, getVisible, getVisibleHeight, getVisibleTitleWidth, getVisibleWidth, getWarnOnEditorTypeConversion, getWarnOnEditorTypeConversionDefault, getWidth, getWidthAsString, getWrapTitle, handleWarnOnEditorTypeConversion, hasErrors, hide, hideIcon, invalidateDisplayValueCache, isCreated, isCutEvent, isDisabled, isDrawn, isInGrid, isPasteEvent, isVisible, linkToInstanceUponCreate, mapDisplayToValue, mapValueToDisplay, mapValueToDisplay, mapValueToDisplay, redraw, redraw, setAccessKey, setAlign, setAllowExpressions, setAlwaysFetchMissingValues, setApplyAlignToText, setApplyHeightToTextBox, setAriaRole, setAriaState, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoComplete, setBrowserInputType, setBrowserSpellCheck, setCanEdit, setCanEditOpaqueValues, setCanFocus, setCanSelectText, setCellHeight, setCellStyle, setChangeOnKeypress, setClipStaticValue, setClipTitle, setColSpan, setColSpan, setControlStyle, setCriteriaField, setCriterion, setCustomStateGetter, setDataPath, setDateFormatter, setDecimalPad, setDecimalPrecision, setDefaultIconSrc, setDefaultProperties, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDefaultValue, setDisabled, setDisableIconsOnReadOnly, setDisplayField, setDisplayFormat, setDisplayFormat, setEditorProperties, setEditorType, setEditorType, setEditorType, setEditorValueFormatter, setEditorValueParser, setEditPendingCSSText, setEditProxyConstructor, setEmptyDisplayValue, setEmptyValueIcon, setEndRow, setErrorFormatter, setErrorIconHeight, setErrorIconSrc, setErrorIconWidth, setErrorMessageWidth, setErrorOrientation, setErrors, setErrors, setExportFormat, setFetchMissingValues, setFilterLocally, setForeignDisplayField, setFormat, setGlobalTabIndex, setHidden, setHint, setHintStyle, setHoverAlign, setHoverDelay, setHoverHeight, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setIconDisabled, setIconHeight, setIconHSpace, setIconPrompt, setIcons, setIconVAlign, setIconWidth, setImageURLPrefix, setImageURLSuffix, setImplicitSave, setImplicitSaveOnBlur, setInitHandler, setInputFormat, setInputTransformer, setItemHoverFormatter, setItemTitleHoverFormatter, setItemValueHoverFormatter, setJavaScriptObject, setLeft, setLoadingDisplayValue, setLocateItemBy, setMultipleValueSeparator, setName, setNullProperty, setOperator, setOptionCriteria, setOptionDataSource, setOptionFilterContext, setOptionOperationId, setOriginalValueMessage, setPickerIconHeight, setPickerIconName, setPickerIconPrompt, setPickerIconProperties, setPickerIconSrc, setPickerIconStyle, setPickerIconWidth, setPrintTextBoxStyle, setPrintTitleStyle, setProperty, setProperty, setProperty, setProperty, setProperty, setReadOnlyDisplay, setReadOnlyHover, setReadOnlyTextBoxStyle, setRedrawOnChange, setRejectInvalidValueOnChange, setRequired, setRequiredMessage, setRowSpan, setSaveOnEnter, setScClassName, setSelectOnClick, setSelectOnFocus, setShowClippedTitleOnHover, setShowClippedValueOnHover, setShowDeletions, setShowDisabled, setShowErrorIcon, setShowErrorStyle, setShowErrorText, setShowFocused, setShowFocusedErrorState, setShowFocusedIcons, setShowFocusedPickerIcon, setShowHint, setShowIcons, setShowIfCondition, setShowOldValueInHover, setShowOverIcons, setShowPending, setShowPickerIcon, setShowRTL, setShowTitle, setShowValueIconOnly, setStartRow, setStateCustomizer, setStaticHeight, setStopOnError, setSupportsCutPasteEvents, setSuppressValueIcon, setSynchronousValidation, setTabIndex, setTextAlign, setTextBoxStyle, setTimeFormatter, setTitle, setTitleAlign, setTitleColSpan, setTitleHoverFormatter, setTitleOrientation, setTitleStyle, setTitleVAlign, setTooltip, setTop, setType, setUseDisabledHintStyleForReadOnly, setValidateOnChange, setValidateOnExit, setValidators, setValidOperators, setVAlign, setValue, setValue, setValue, setValue, setValue, setValue, setValueDeselectedCSSText, setValueField, setValueFormatter, setValueHoverFormatter, setValueIconHeight, setValueIconLeftPadding, setValueIconMapper, setValueIconRightPadding, setValueIcons, setValueIconSize, setValueIconWidth, setValueMap, setValueMap, setVisible, setWarnOnEditorTypeConversion, setWarnOnEditorTypeConversionDefault, setWidth, setWidth, setWrapTitle, shouldApplyHeightToTextBox, shouldFetchMissingValue, shouldSaveOnEnter, shouldStopKeyPressBubbling, show, showIcon, showPicker, stopHover, storeValue, updateState, validate, valueClipped`

    - ### Methods inherited from class com.smartgwt.client.core.RefDataClass

      `getRef, getRef, internalSetID`

    - ### Methods inherited from class com.smartgwt.client.core.DataClass

      `applyFactoryProperties, doAddHandler, fireEvent, getAttributeAsDoubleArray, getAttributeAsIntArray, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsStringArray, getAttributes, getHandlerCount, getReadOnly, isFactoryCreated, logConfiguration, setAttribute, setAttribute, setAttribute, setAttributeAsJavaObject, setFactoryCreated, setReadOnly`

    - ### Methods inherited from class com.smartgwt.client.core.JsObject

      `equals, getJsObj, hashCode, setJsObj`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

- - ### Constructor Detail

    - #### FileItem

          public FileItem()

    - #### FileItem

          public FileItem(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### FileItem

          public FileItem(java.lang.String name)

    - #### FileItem

          public FileItem(java.lang.String name,
                          java.lang.String title)

  - ### Method Detail

    - #### getOrCreateRef

          public static FileItem getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     Canvas defaults)

      Changes the defaults for Canvas AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - Canvas defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     FormItem defaults)

      Changes the defaults for FormItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - FormItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changeAutoChildDefaults

          public static void changeAutoChildDefaults(java.lang.String autoChildName,
                                                     DrawItem defaults)

      Changes the defaults for DrawItem AutoChildren named `autoChildName`.
      Parameters:
        `autoChildName` - name of an AutoChild to customize the defaults for.
        `defaults` - DrawItem defaults to apply. These defaults override any existing properties without destroying or wiping out non-overridden properties. For usage tips on this param, see `SGWTProperties`.
      See Also:
        `AutoChildUsage`

    - #### changePickerIconDefaults

          public static void changePickerIconDefaults(FormItemIcon defaults)

    - #### setAccept

          public void setAccept(java.lang.String accept)

      A comma-separated list of valid MIME types, used as a filter for the file picker window.

      Note that this property makes use of the HTML `accept` attribute, and so relies on the browser to perform the desired filtering. For further study, see:

      - HTML <input> accept Attribute
      - The Input (Form Input) element
      - File input 'accept' attribute - is it useful?
      Parameters:
        `accept` - Default value is null

    - #### getAccept

          public java.lang.String getAccept()

      A comma-separated list of valid MIME types, used as a filter for the file picker window.

      Note that this property makes use of the HTML `accept` attribute, and so relies on the browser to perform the desired filtering. For further study, see:

      - HTML <input> accept Attribute
      - The Input (Form Input) element
      - File input 'accept' attribute - is it useful?
      Returns:
        String

    - #### getDisplayCanvas

          public Canvas getDisplayCanvas()

      The `Canvas` created automatically when `canEdit` is false and the field is of any type other than "blob".

      If the field is of type "imageFile", and `showFileInline` is true, the contents of the canvas are set to HTML that streams the image file for display. Otherwise, the item renders icons that allow the file to be `viewed` or `downloaded`.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `fileItem.displayCanvasDefaults` and `fileItem.displayCanvasProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        Canvas
      See Also:
        `Upload overview and related methods`

    - #### getDisplayForm

          public DynamicForm getDisplayForm()

      The `DynamicForm` created automatically when `canEdit` is false and the field is of type "blob". Displays a single `item` for viewing the content of a blob file.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `fileItem.displayFormDefaults` and `fileItem.displayFormProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        DynamicForm
      See Also:
        `Upload overview and related methods`

    - #### getDisplayItem

          public StaticTextItem getDisplayItem()

      The `StaticTextItem` created automatically and displayed in the `displayForm` when `canEdit` is false and the field type is "blob".

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `fileItem.displayItemDefaults` and `fileItem.displayItemProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        StaticTextItem
      See Also:
        `Upload overview and related methods`

    - #### setDownloadIconSrc

          public void setDownloadIconSrc(java.lang.String downloadIconSrc)

      Returns the URL for an Icon that will allow the file to be downloaded
      Parameters:
        `downloadIconSrc` - See `SCImgURL` . Default value is "[SKIN]actions/download.png"
      See Also:
        `Images overview and related methods`

    - #### getDownloadIconSrc

          public java.lang.String getDownloadIconSrc()

      Returns the URL for an Icon that will allow the file to be downloaded
      Returns:
        See `SCImgURL`
      See Also:
        `Images overview and related methods`

    - #### getEditForm

          public DynamicForm getEditForm()

      The `DynamicForm` created automatically when `canEdit` is true. Displays a single `item` for manipulating a file.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `fileItem.editFormDefaults` and `fileItem.editFormProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        DynamicForm
      See Also:
        `Upload overview and related methods`

    - #### setMultiple

          public void setMultiple(java.lang.Boolean multiple)

      When true, allow the file-selection dialog shelled by the browser to select multiple files.

      Support is not full-cycle at the server - that is, there are server APIs for retrieving each file that was uploaded, but no built-in support for storing multiple files against a single DataSource field. However, you can write custom server DMI code to do something with the files - for instance, you could create multiple new DataSource records for each file via a server DMI like this below:

               String fileNameStr = (String)dsRequest.getValues().get("image_filename").toString();

               String[] fileNames = fileNameStr.split(", ");
               List files = dsRequest.getUploadedFiles();

               for (int i = 0; i < files.size(); i++) {
                   ISCFileItem file = (ISCFileItem)files.get(i);
                   InputStream fileData = file.getInputStream();
                   DSRequest inner = new DSRequest("mediaLibrary", "add");
                   Map values = new HashMap();
                   values.put("title", dsRequest.getValues().get("title"));
                   values.put("image", fileData);
                   values.put("image_filename", fileNames[i]);
                   values.put("image_filesize", file.getSize());
                   values.put("image_date_created", new Date());

                   inner.setValues(values);
                   inner.execute();
               }

               DSResponse dsResponse = new DSResponse();

               dsResponse.setStatus(0);

               return dsResponse;

      If this method is called after the component has been drawn/initialized: Updates the `multiple` setting at runtime, propagating it to the Browser's file dialog. Causes a redraw.
      Overrides:
        `setMultiple` in class `CanvasItem`
      Parameters:
        `multiple` - the HTML of the view link. Default value is true

    - #### getMultiple

          public java.lang.Boolean getMultiple()

      When true, allow the file-selection dialog shelled by the browser to select multiple files.

      Support is not full-cycle at the server - that is, there are server APIs for retrieving each file that was uploaded, but no built-in support for storing multiple files against a single DataSource field. However, you can write custom server DMI code to do something with the files - for instance, you could create multiple new DataSource records for each file via a server DMI like this below:

               String fileNameStr = (String)dsRequest.getValues().get("image_filename").toString();

               String[] fileNames = fileNameStr.split(", ");
               List files = dsRequest.getUploadedFiles();

               for (int i = 0; i < files.size(); i++) {
                   ISCFileItem file = (ISCFileItem)files.get(i);
                   InputStream fileData = file.getInputStream();
                   DSRequest inner = new DSRequest("mediaLibrary", "add");
                   Map values = new HashMap();
                   values.put("title", dsRequest.getValues().get("title"));
                   values.put("image", fileData);
                   values.put("image_filename", fileNames[i]);
                   values.put("image_filesize", file.getSize());
                   values.put("image_date_created", new Date());

                   inner.setValues(values);
                   inner.execute();
               }

               DSResponse dsResponse = new DSResponse();

               dsResponse.setStatus(0);

               return dsResponse;

      Overrides:
        `getMultiple` in class `CanvasItem`
      Returns:
        Boolean

    - #### setShouldSaveValue

          public void setShouldSaveValue(java.lang.Boolean shouldSaveValue)

      Should this item's value be saved in the form's values and hence returned from `form.getValues()`?

      `shouldSaveValue:false` is used to mark formItems which do not correspond to the underlying data model and should not save a value into the form's `values`. Example includes visual separators, password re-type fields, or checkboxes used to show/hide other form items.

      A `shouldSaveValue:false` item should be given a value either via `FormItem.defaultValue` or by calling `form.setValue(item, value)` or `formItem.setValue(value)`. Providing a value via `form.values` or `form.setValues()` will automatically switch the item to `shouldSaveValue:true`.

      Note that

      - if an item is shouldSaveValue true, but has no name, a warning is logged, and shouldSaveValue will be set to false.
      Overrides:
        `setShouldSaveValue` in class `CanvasItem`
      Parameters:
        `shouldSaveValue` - Default value is true

    - #### getShouldSaveValue

          public java.lang.Boolean getShouldSaveValue()

      Should this item's value be saved in the form's values and hence returned from `form.getValues()`?

      `shouldSaveValue:false` is used to mark formItems which do not correspond to the underlying data model and should not save a value into the form's `values`. Example includes visual separators, password re-type fields, or checkboxes used to show/hide other form items.

      A `shouldSaveValue:false` item should be given a value either via `FormItem.defaultValue` or by calling `form.setValue(item, value)` or `formItem.setValue(value)`. Providing a value via `form.values` or `form.setValues()` will automatically switch the item to `shouldSaveValue:true`.

      Note that

      - if an item is shouldSaveValue true, but has no name, a warning is logged, and shouldSaveValue will be set to false.
      Overrides:
        `getShouldSaveValue` in class `CanvasItem`
      Returns:
        Boolean

    - #### setShowFileInline

          public void setShowFileInline(java.lang.Boolean showFileInline)

      Indicates whether to stream the image and display it inline or to display the View and Download icons.
      Parameters:
        `showFileInline` - Default value is null

    - #### getShowFileInline

          public java.lang.Boolean getShowFileInline()

      Indicates whether to stream the image and display it inline or to display the View and Download icons.
      Returns:
        Boolean

    - #### getUploadItem

          public UploadItem getUploadItem()

      The `UploadItem` created automatically and displayed in the `editForm` when `canEdit` is true.

      This component is an `com.smartgwt.client.types.AutoChild` and as such may be customized via `fileItem.uploadItemDefaults` and `fileItem.uploadItemProperties`.

      For an overview of how to use and configure AutoChildren, see `Using AutoChildren`.

      Returns:
        UploadItem
      See Also:
        `Upload overview and related methods`

    - #### setViewIconSrc

          public void setViewIconSrc(java.lang.String viewIconSrc)

      Returns the URL for an Icon that will allow the file to be viewed.
      Parameters:
        `viewIconSrc` - See `SCImgURL` . Default value is "[SKIN]actions/view.png"
      See Also:
        `Images overview and related methods`

    - #### getViewIconSrc

          public java.lang.String getViewIconSrc()

      Returns the URL for an Icon that will allow the file to be viewed.
      Returns:
        See `SCImgURL`
      See Also:
        `Images overview and related methods`

    - #### setDefaultProperties

          public static void setDefaultProperties(FileItem fileItemProperties)

      Class level method to set the default properties of this class. If set, then all existing and subsequently created instances of this class will automatically have default properties corresponding to the properties of the class instance passed to this function. This is a powerful feature that eliminates the need for users to create a separate hierarchy of subclasses that only alter the default properties of this class. Can also be used for skinning / styling purposes.

      Note: This method is intended for setting default attributes only and will affect all instances of the underlying class (including those automatically generated in JavaScript). This method should not be used to apply standard EventHandlers or override methods for a class - use a custom subclass instead. Calling this method after instances have been created can result in undefined behavior, since it bypasses any setters and a class instance may have already examined a particular property and not be expecting any changes through this route.

      Parameters:
        `fileItemProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`