com.smartgwt.client.widgets

## Class BatchUploader

- java.lang.Object
- - com.google.gwt.user.client.ui.UIObject
  - - com.google.gwt.user.client.ui.Widget
    - - com.smartgwt.client.widgets.BaseWidget
      - - com.smartgwt.client.widgets.Canvas
        - - com.smartgwt.client.widgets.layout.Layout
          - - com.smartgwt.client.widgets.layout.VStack
            - - com.smartgwt.client.widgets.BatchUploader

- All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsWidget, LogicalStructure, HasClickHandlers, HasDoubleClickHandlers, HasDragMoveHandlers, HasDragRepositionMoveHandlers, HasDragRepositionStartHandlers, HasDragRepositionStopHandlers, HasDragResizeMoveHandlers, HasDragResizeStartHandlers, HasDragResizeStopHandlers, HasDragStartHandlers, HasDragStopHandlers, HasDropHandlers, HasDropMoveHandlers, HasDropOutHandlers, HasDropOverHandlers, HasFocusChangedHandlers, HasHoverHandlers, HasHoverHiddenHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseStillDownHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasMovedHandlers, HasParentMovedHandlers, HasResizedHandlers, HasRightMouseDownHandlers, HasScrolledHandlers, HasShowContextMenuHandlers, HasVisibilityChangedHandlers, HasMembersChangedHandlers
  Direct Known Subclasses:
    BatchUploader

      public class BatchUploader
      extends VStack

  The BatchUploader handles the upload, validation, review and saving of a dataset expressed in CSV or other upload formats.

  NOTE: BatchUploader is only available with Smart GWT Power or better.

  By default, a BatchUploader consists of a single `FileItem` form field. This form field will upload a file using the special "batchUpload" built-in DataSource. The uploaded file data will be parsed and validated using the `uploadDataSource`, then streamed back to the browser, along with any errors, for display in a ListGrid.

  The user can then correct any errors and submit the final dataset, which will be added to the DataSource via a series of "add" DSRequests, all submitted as a single HTTP request via `request queuing`.

  Additional form fields can be added to the form that uploads the data file via `uploadFormFields`. Values entered into these fields are not included in the "add" DSRequests used to store the uploaded records. Instead, they are stored as HttpSession attributes with the names corresponding to the names of the specified `uploadFormFields` (optionally with a `prefix` applied, in case this is necessary to avoid name collisions in the session). This allows any custom logic for the "add" operation to access these additional fields via httpSession.getAttribute(). If `uploadFormFields` are not provided method httpSession.getAttribute() will not be called.

  Because all records are saved in a single HTTP request, a similar strategy of storing data as servletRequest or session attributes allows reuse of objects required to perform the "add" operations (such as field values common to all added records, or a SQL connection or transaction manager).

  If `uploadFieldName` is set on any of the `uploadDataSource`'s fields, the BatchUploader will use that name to map the uploaded file's content.

  Note, that for `CSV data format` header line is optional. If first non-empty line in the uploaded file has no matching field names, it is assumed that there's no header row, and all rows (including the first one) are treated as data rows.

  Imported data can be transformed during import, see `DataSourceField.importStrategy` for details.

  A couple of server-side techniques are interesting in conjunction with the BatchUploader. One is to set the `DataSource.serverConstructor` property to point at your own class that inherits from `com.isomorphic.datasource.BasicDataSource`. The most interesting reason for doing this is to override the `validate` method and provide complete custom validation - for example, checking relations to other tables.

  Another technique is to handle the initial Smart GWT call in your own servlet, by setting the `dataURL` property. You then handle the add requests with a combination of your own code and Smart GWT server API calls. This is a good way to add special pre- and post-processing to the normal server-side flow.

  Note: The special "batchUpload" DataSource, which should reside in the shared/ds folder of your application's webroot (see `Installation Instructions`). is not part of your application's data flow, and it has nothing to do with the `uploadDataSource` you use to actually persist the validated and error-corrected data: it is simply a means to uploading the raw data in the first place. Normally, you should simply ignore its presence and treat it as an internal detail of the Smart GWT framework.

  However, there are circumstances in which you may wish to change it to achieve specific aims. For example, you may wish to override the Java class it invokes, in order to insert your own security or other validation logic into the initial upload flow. This is entirely in keeping with the design, but we regard it as an out-of-the-ordinary use-case: normal usage is simply to ignore the presence of the batchUpload DataSource.

  BatchUploader is a `VStack`, that simply stacks members on the vertical axis without trying to manage their height. If you need to control heights, you can set `vPolicy` to "fill"

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

      `com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled`

  - ### Field Summary

    - ### Fields inherited from class com.smartgwt.client.widgets.BaseWidget

      `config, configOnly, factoryCreated, factoryProperties, id, nativeObject, scClassName`

    - ### Fields inherited from class com.google.gwt.user.client.ui.UIObject

      `DEBUG_ID_PREFIX`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BatchUploader()`
    `BatchUploader(com.google.gwt.core.client.JavaScriptObject jsObj)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated 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, FormItem defaults)` Changes the defaults for FormItem AutoChildren named `autoChildName`.
    `protected com.google.gwt.core.client.JavaScriptObject` | `create()`
    `java.lang.String` | `getAllRecordsInErrorMessage()` Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has errors
    `IButton` | `getCancelButton()` Button that cancels the uncommitted upload.
    `java.lang.String` | `getCancelButtonTitle()` Title for the `cancel button`.
    `java.lang.String` | `getCancelConfirmMessage()` Confirmation message to show if the user clicks the "Cancel" button and `warnOnCancel` is true.
    `IButton` | `getCommitButton()` Button that commits changes once the user is happy with the data.
    `java.lang.String` | `getCommitButtonTitle()` Title for the `commit button`.
    `java.lang.String` | `getCommitConfirmationMessage()` Message to display after data has been committed, when `showCommitConfirmation` is true.
    `ImportFormat` | `getDataFormat()` Format to assume for user-provided data.
    `java.lang.String` | `getDataURL()` If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually populate the data.
    `java.lang.String` | `getDefaultDelimiter()` Deprecated. in favor of `uploadDelimiter`
    `java.lang.String` | `getDefaultQuoteString()` Deprecated. in favor of `uploadQuoteString`
    `java.lang.String` | `getDiscardedColumnsMessage()` Message displayed when columns in the imported file were discarded and `displayDiscardedColumns` is true.
    `java.lang.Boolean` | `getDisplayDiscardedColumns()` If columns were present in the imported data that were discarded because they could not be matched to any DataSource fields, whether these should be displayed to the user, using the `discardedColumnsMessage` shown within the `uploadStatusMessages` component.
    `java.lang.String` | `getErrorMessageDelimiterOrEndOfLine()` Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the first line.
    `java.lang.String` | `getErrorMessageFileIsBlank()` Error message to show when the uploading process detects a file with no data.
    `java.lang.String` | `getErrorMessageInputType()` Error message to show when the uploading process detects an invalid inputType.
    `java.lang.String` | `getErrorMessageRowsNotParsed()` Error message to show when the uploaded file has rows other than the first row that could not be parsed.
    `java.lang.String` | `getErrorMessageUndeterminedDelimiter()` Error message to show when the uploading process is unable to detect the delimiter.
    `java.lang.String` | `getErrorMessageUnterminatedQuote()` Error message to show when the uploading process detects an unterminated quote string in the first line.
    `ListGrid` | `getGrid()` Grid which will show a preview of data to be uploaded, with errors flagged
    `ListGridField[]` | `getGridFields()` Fields to apply to `grid`.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `getLogicalStructure()` Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `static BatchUploader` | `getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `PartialCommitOption` | `getPartialCommit()` Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still contains some errors).
    `java.lang.String` | `getPartialCommitConfirmationMessage()` Message to display after data has been committed, when `showCommitConfirmation` is true.
    `java.lang.String` | `getPartialCommitError()` If `partialCommit` is set to "prevent", the text to display to the user if they try to commit a dataset containing errors.
    `java.lang.String` | `getPartialCommitPrompt()` If `partialCommit` is set to "prompt", the text to display to the user in the confirmation dialog.
    `DSRequest` | `getRequestProperties()` Object containing properties to send with every "add" request this batchUploader sends.
    `java.lang.Boolean` | `getShowCommitConfirmation()` Whether to show the `commit message` after data is successfully committed.
    `java.lang.String` | `getUpdatesRolledBackMessage()` Message to display if at least one update was rolled back due to errors in another row.
    `IButton` | `getUploadButton()` Button that triggers the upload.
    `java.lang.String` | `getUploadButtonTitle()` Title for the `upload button`.
    `DataSource` | `getUploadDataSource()` DataSource used to save uploaded records.
    `java.lang.String` | `getUploadDelimiter()` The delimiter to use when importing character-delimited files.
    `java.lang.String` | `getUploadEncoding()` The encoding to use when importing files.
    `java.lang.String` | `getUploadFieldPrefix()` String to prepend to the names of the additional fields specified in `uploadFormFields` before they are stored in the HttpSession on the server.
    `FileItem` | `getUploadFileItem()` FileItem for selecting the file to upload.
    `java.lang.String` | `getUploadFileLabel()` Title to display next to the `FileItem` field where the user enters a filename to upload
    `DynamicForm` | `getUploadForm()` Form used to specify file to upload, and any additional fields required.
    `FormItem[]` | `getUploadFormFields()` Optional fields for the uploadForm.
    `java.lang.String` | `getUploadOperation()` Optional `DSRequest.operationId` for the "add" operation used to add new records to the `uploadDataSource`.
    `java.lang.String` | `getUploadQuoteString()` The character used to quote strings.
    `HTMLFlow` | `getUploadStatusMessages()` Container for informational messages that are shown when a user attempts an upload.
    `java.lang.Boolean` | `getWarnOnCancel()` If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is really what they want to do.
    `void` | `setAllRecordsInErrorMessage(java.lang.String allRecordsInErrorMessage)` Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has errors
    `void` | `setCancelButtonTitle(java.lang.String cancelButtonTitle)` Title for the `cancel button`.
    `void` | `setCancelConfirmMessage(java.lang.String cancelConfirmMessage)` Confirmation message to show if the user clicks the "Cancel" button and `warnOnCancel` is true.
    `void` | `setCommitButtonTitle(java.lang.String commitButtonTitle)` Title for the `commit button`.
    `void` | `setCommitConfirmationMessage(java.lang.String commitConfirmationMessage)` Message to display after data has been committed, when `showCommitConfirmation` is true.
    `void` | `setDataFormat(ImportFormat dataFormat)` Format to assume for user-provided data.
    `void` | `setDataURL(java.lang.String dataURL)` If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually populate the data.
    `void` | `setDefaultDelimiter(java.lang.String defaultDelimiter)` Deprecated. in favor of `uploadDelimiter`
    `static void` | `setDefaultProperties(BatchUploader batchUploaderProperties)` Class level method to set the default properties of this class.
    `void` | `setDefaultQuoteString(java.lang.String defaultQuoteString)` Deprecated. in favor of `uploadQuoteString`
    `void` | `setDiscardedColumnsMessage(java.lang.String discardedColumnsMessage)` Message displayed when columns in the imported file were discarded and `displayDiscardedColumns` is true.
    `void` | `setDisplayDiscardedColumns(java.lang.Boolean displayDiscardedColumns)` If columns were present in the imported data that were discarded because they could not be matched to any DataSource fields, whether these should be displayed to the user, using the `discardedColumnsMessage` shown within the `uploadStatusMessages` component.
    `void` | `setErrorMessageDelimiterOrEndOfLine(java.lang.String errorMessageDelimiterOrEndOfLine)` Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the first line.
    `void` | `setErrorMessageFileIsBlank(java.lang.String errorMessageFileIsBlank)` Error message to show when the uploading process detects a file with no data.
    `void` | `setErrorMessageInputType(java.lang.String errorMessageInputType)` Error message to show when the uploading process detects an invalid inputType.
    `void` | `setErrorMessageRowsNotParsed(java.lang.String errorMessageRowsNotParsed)` Error message to show when the uploaded file has rows other than the first row that could not be parsed.
    `void` | `setErrorMessageUndeterminedDelimiter(java.lang.String errorMessageUndeterminedDelimiter)` Error message to show when the uploading process is unable to detect the delimiter.
    `void` | `setErrorMessageUnterminatedQuote(java.lang.String errorMessageUnterminatedQuote)` Error message to show when the uploading process detects an unterminated quote string in the first line.
    `void` | `setGridFields(ListGridField... gridFields)` Fields to apply to `grid`.
    `com.smartgwt.logicalstructure.core.LogicalStructureObject` | `setLogicalStructure(com.smartgwt.logicalstructure.widgets.BatchUploaderLogicalStructure s)` Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
    `void` | `setPartialCommit(PartialCommitOption partialCommit)` Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still contains some errors).
    `void` | `setPartialCommitConfirmationMessage(java.lang.String partialCommitConfirmationMessage)` Message to display after data has been committed, when `showCommitConfirmation` is true.
    `void` | `setPartialCommitError(java.lang.String partialCommitError)` If `partialCommit` is set to "prevent", the text to display to the user if they try to commit a dataset containing errors.
    `void` | `setPartialCommitPrompt(java.lang.String partialCommitPrompt)` If `partialCommit` is set to "prompt", the text to display to the user in the confirmation dialog.
    `void` | `setRequestProperties(DSRequest requestProperties)` Object containing properties to send with every "add" request this batchUploader sends.
    `void` | `setShowCommitConfirmation(java.lang.Boolean showCommitConfirmation)` Whether to show the `commit message` after data is successfully committed.
    `void` | `setUpdatesRolledBackMessage(java.lang.String updatesRolledBackMessage)` Message to display if at least one update was rolled back due to errors in another row.
    `void` | `setUploadButtonTitle(java.lang.String uploadButtonTitle)` Title for the `upload button`.
    `void` | `setUploadDataSource(DataSource uploadDataSource)` DataSource used to save uploaded records.
    `void` | `setUploadDelimiter(java.lang.String uploadDelimiter)` The delimiter to use when importing character-delimited files.
    `void` | `setUploadEncoding(java.lang.String uploadEncoding)` The encoding to use when importing files.
    `void` | `setUploadFieldPrefix(java.lang.String uploadFieldPrefix)` String to prepend to the names of the additional fields specified in `uploadFormFields` before they are stored in the HttpSession on the server.
    `void` | `setUploadFileLabel(java.lang.String uploadFileLabel)` Title to display next to the `FileItem` field where the user enters a filename to upload
    `void` | `setUploadFormFields(FormItem... uploadFormFields)` Optional fields for the uploadForm.
    `void` | `setUploadFormItems(FormItem... items)` Synonym of `setUploadFormFields(FormItem...)`.
    `void` | `setUploadOperation(java.lang.String uploadOperation)` Optional `DSRequest.operationId` for the "add" operation used to add new records to the `uploadDataSource`.
    `void` | `setUploadQuoteString(java.lang.String uploadQuoteString)` The character used to quote strings.
    `void` | `setWarnOnCancel(java.lang.Boolean warnOnCancel)` If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is really what they want to do.

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.VStack

      `setDefaultProperties, setLogicalStructure`

    - ### Methods inherited from class com.smartgwt.client.widgets.layout.Layout

      `addMember, addMember, addMember, addMember, addMemberPostCreate, addMemberPostCreate, addMemberPreCreate, addMemberPreCreate, addMembers, addMembers, addMembersChangedHandler, getAnimateMembers, getAnimateMemberTime, getCanDropComponents, getDefaultResizeBars, getDropComponent, getDropLine, getDropLineThickness, getDropPosition, getEditProxyConstructor, getEnforcePolicy, getHPolicy, getLayoutBottomMargin, getLayoutLeftMargin, getLayoutMargin, getLayoutRightMargin, getLayoutTopMargin, getLeaveScrollbarGap, getLocateMembersBy, getLocateMembersType, getManagePercentBreadth, getMember, getMember, getMemberDefaultBreadth, getMemberNumber, getMemberNumber, getMemberOverlap, getMembers, getMembersLength, getMembersMargin, getMinMemberSize, getOverflow, getPaddingAsLayoutMargin, getResizeBar, getResizeBarClass, getResizeBarSize, getReverseOrder, getShowDragPlaceHolder, getShowDropLines, getStackZIndex, getVertical, getVPolicy, hasMember, hideDropLine, hideMember, hideMember, layoutIsDirty, onInit_Layout, onInit, reflow, reflow, reflowNow, removeMember, removeMembers, removeMembers, reorderMember, reorderMembers, setAlign, setAlign, setAnimateMembers, setAnimateMemberTime, setCanDropComponents, setDefaultLayoutAlign, setDefaultLayoutAlign, setDefaultProperties, setDefaultResizeBars, setDropLineProperties, setDropLineThickness, setEditProxyConstructor, setEnforcePolicy, setHPolicy, setLayoutBottomMargin, setLayoutLeftMargin, setLayoutMargin, setLayoutRightMargin, setLayoutTopMargin, setLeaveScrollbarGap, setLocateMembersBy, setLocateMembersType, setLogicalStructure, setManagePercentBreadth, setMemberOverlap, setMembers, setMembersMargin, setMinMemberSize, setOverflow, setPaddingAsLayoutMargin, setPlaceHolderDefaults, setPlaceHolderProperties, setResizeBarClass, setResizeBarSize, setReverseOrder, setShowDragPlaceHolder, setShowDropLines, setStackZIndex, setVertical, setVisibleMember, setVPolicy, showMember, showMember`

    - ### Methods inherited from class com.smartgwt.client.widgets.Canvas

      `addChild, addChild, addChild, addChild, addChild, addClickHandler, addDoubleClickHandler, addDragMoveHandler, addDragRepositionMoveHandler, addDragRepositionStartHandler, addDragRepositionStopHandler, addDragResizeMoveHandler, addDragResizeStartHandler, addDragResizeStopHandler, addDragStartHandler, addDragStopHandler, addDropHandler, addDropMoveHandler, addDropOutHandler, addDropOverHandler, addFocusChangedHandler, addHoverHandler, addHoverHiddenHandler, addKeyDownHandler, addKeyPressHandler, addMouseDownHandler, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseStillDownHandler, addMouseUpHandler, addMouseWheelHandler, addMovedHandler, addParentMovedHandler, addPeer, addPeer, addPeer, addPeer, addResizedHandler, addRightMouseDownHandler, addScrolledHandler, addShowContextMenuHandler, addSnapAlignCandidate, addStyleName, addVisibilityChangedHandler, adjustForContent, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateFade, animateHide, animateHide, animateHide, animateMove, animateMove, animateMove, animateMove, animateRect, animateRect, animateRect, animateRect, animateResize, animateResize, animateResize, animateResize, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateScroll, animateShow, animateShow, animateShow, animateShow, animateShow, animateShow, asSGWTComponent, blur, bringToFront, clear, clickMaskUp, clickMaskUp, contains, contains, containsEvent, containsFocus, containsPoint, containsPoint, deparent, depeer, disable, enable, encloses, focus, focusInNextTabElement, focusInPreviousTabElement, getAbsoluteLeft, getAbsoluteTop, getAccessKey, getAlwaysShowScrollbars, getAnimateAcceleration, getAnimateFadeTime, getAnimateHideAcceleration, getAnimateHideTime, getAnimateMoveAcceleration, getAnimateMoveTime, getAnimateRectAcceleration, getAnimateRectTime, getAnimateResizeAcceleration, getAnimateResizeTime, getAnimateScrollAcceleration, getAnimateScrollTime, getAnimateShowAcceleration, getAnimateShowEffect, getAnimateShowTime, getAnimateTime, getAppImgDir, getAriaRole, getAutoDraw, getAutoMaskComponents, getAutoShowParent, getBackgroundColor, getBackgroundImage, getBackgroundPosition, getBackgroundRepeat, getBorder, getBottom, getById, getByJSObject, getByLocalId, getCanAcceptDrop, getCanDrag, getCanDragReposition, getCanDragResize, getCanDragScroll, getCanDrop, getCanDropBefore, getCanFocus, getCanHover, getCanSelectText, getCanvasAutoChild, getCanvasItem, getChildren, getChildrenResizeSnapAlign, getChildrenSnapAlign, getChildrenSnapCenterAlign, getChildrenSnapEdgeAlign, getChildrenSnapResizeToGrid, getChildrenSnapToGrid, getClassName, getComponentMask, getComponentMaskDefaults, getContentElement, getContents, getContextMenu, getCursor, getDataPath, getDefaultHeight, getDefaultWidth, getDestroyed, getDestroying, getDisabled, getDisabledCursor, getDisableTouchScrollingForDrag, getDoubleClickDelay, getDragAppearance, getDragIntersectStyle, getDragMaskType, getDragOpacity, getDragRepositionAppearance, getDragRepositionCursor, getDragResizeAppearance, getDragScrollDelay, getDragStartDistance, getDragTarget, getDragType, getDropTypes, getDropTypesAsString, getDynamicContents, getEdgeBackgroundColor, getEdgeCenterBackgroundColor, getEdgeImage, getEdgeMarginSize, getEdgeOffset, getEdgeOpacity, getEdgeShowCenter, getEdgeSize, getEditNode, getEditProxy, getElement, getElement, getEventEdge, getEventEdge, getExtraSpace, getFacetId, getFormItemAutoChild, getFullDataPath, getGroupBorderCSS, getGroupLabelBackgroundColor, getGroupLabelStyleName, getGroupTitle, getHeight, getHeightAsString, getHideUsingDisplayNone, getHoverAlign, getHoverAutoDestroy, getHoverComponent, getHoverDelay, getHoverHeight, getHoverHTML, getHoverMoveWithMouse, getHoverOpacity, getHoverStyle, getHoverVAlign, getHoverWidth, getHoverWrap, getHSnapOrigin, getHSnapOrigin, getHSnapPosition, getHSnapPosition, getHtmlElement, getHtmlPosition, getImage, getImgURL, getImgURL, getInnerContentHeight, getInnerContentWidth, getInnerHeight, getInnerWidth, getIsGroup, getIsPrinting, getIsSnapAlignCandidate, getKeepInParentRect, getLayoutAlign, getLeavePageSpace, getLeft, getLeftAsString, getLocateChildrenBy, getLocateChildrenType, getLocatePeersBy, getLocatePeersType, getMargin, getMasterCanvas, getMasterElement, getMatchElement, getMaxHeight, getMaxWidth, getMenuConstructor, getMinHeight, getMinNonEdgeSize, getMinWidth, getMomentumScrollMinSpeed, getMouseStillDownDelay, getMouseStillDownInitialDelay, getNextZIndex, getNoDoubleClicks, getNoDropCursor, getOffsetHeight, getOffsetWidth, getOffsetX, getOffsetY, getOpacity, getOuterElement, getPadding, getPageBottom, getPageLeft, getPageRect, getPageRight, getPageTop, getPanelContainer, getParentCanvas, getParentElement, getPeers, getPercentBox, getPercentSource, getPosition, getPrefix, getPrintChildrenAbsolutelyPositioned, getPrintHTML, getPrintHTML, getPrompt, getProportionalResizeModifiers, getProportionalResizing, getRect, getRedrawOnResize, getResizeBarTarget, getResizeFrom, getRight, getScrollbarSize, getScrollBottom, getScrollHeight, getScrollLeft, getScrollRight, getScrollTop, getScrollWidth, getShadowDepth, getShadowImage, getShadowOffset, getShadowSoftness, getShouldPrint, getShowCustomScrollbars, getShowDragShadow, getShowEdges, getShowHover, getShowHoverComponents, getShowResizeBar, getShowShadow, getShowSnapGrid, getShrinkElementOnHide, getSkinImgDir, getSnapAlignCandidates, getSnapAlignCenterLineStyle, getSnapAlignEdgeLineStyle, getSnapAxis, getSnapEdge, getSnapHDirection, getSnapHGap, getSnapOffsetLeft, getSnapOffsetTop, getSnapOnDrop, getSnapPosition, getSnapPosition, getSnapResizeToAlign, getSnapResizeToGrid, getSnapTo, getSnapToAlign, getSnapToCenterAlign, getSnapToEdgeAlign, getSnapToGrid, getSnapVDirection, getSnapVGap, getStyleName, getTabIndex, getTestInstance, getTitle, getTooltip, getTop, getTopAsString, getTopElement, getUseBackMask, getUseDragMask, getUseNativeDrag, getUseOpacityFilter, getUseTouchScrolling, getValuesManager, getViewportHeight, getViewportWidth, getVisibility, getVisibleHeight, getVisibleWidth, getVSnapOrigin, getVSnapOrigin, getVSnapPosition, getVSnapPosition, getWidth, getWidthAsString, getZIndex, getZIndex, handleHover, hide, hideClickMask, hideClickMask, hideComponentMask, hideComponentMask, hideContextMenu, imgHTML, imgHTML, imgHTML, intersects, isDirty, isDisabled, isDrawn, isFocused, isVisible, keyUp, layoutChildren, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, linkHTML, markForDestroy, markForRedraw, markForRedraw, moveAbove, moveBelow, moveBy, moveTo, onAttach, onDetach, pageScrollDown, pageScrollUp, parentResized, placeNear, placeNear, placeNear, printComponents, provideRuleContext, redraw, redraw, removeChild, removeChild, removePeer, removePeer, removeSnapAlignCandidate, resizeBy, resizeTo, resizeTo, revealChild, revealChild, scrollBy, scrollByPercent, scrollTo, scrollTo, scrollTo, scrollToBottom, scrollToLeft, scrollToPercent, scrollToRight, scrollToTop, sendToBack, setAccessKey, setAllowExternalFilters, setAlwaysShowScrollbars, setAnimateAcceleration, setAnimateFadeTime, setAnimateHideAcceleration, setAnimateHideTime, setAnimateMoveAcceleration, setAnimateMoveTime, setAnimateRectAcceleration, setAnimateRectTime, setAnimateResizeAcceleration, setAnimateResizeTime, setAnimateScrollAcceleration, setAnimateScrollTime, setAnimateShowAcceleration, setAnimateShowEffect, setAnimateShowTime, setAnimateTime, setAppImgDir, setAriaRole, setAriaState, setAutoChildConstructor, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildProperties, setAutoChildVisibility, setAutoDraw, setAutoHeight, setAutoMaskComponents, setAutoShowParent, setAutoWidth, setBackgroundColor, setBackgroundImage, setBackgroundPosition, setBackgroundRepeat, setBorder, setBottom, setCanAcceptDrop, setCanDrag, setCanDragReposition, setCanDragResize, setCanDragScroll, setCanDrop, setCanDropBefore, setCanFocus, setCanHover, setCanSelectText, setChildren, setChildrenResizeSnapAlign, setChildrenSnapAlign, setChildrenSnapCenterAlign, setChildrenSnapEdgeAlign, setChildrenSnapResizeToGrid, setChildrenSnapToGrid, setComponentMaskDefaults, setContents, setContextMenu, setCursor, setDataPath, setDefaultHeight, setDefaultPageSpace, setDefaultProperties, setDefaultWidth, setDisabled, setDisabledCursor, setDisableTouchScrollingForDrag, setDoubleClickDelay, setDragAppearance, setDragIntersectStyle, setDragMaskType, setDragOpacity, setDragRepositionAppearance, setDragRepositionCursor, setDragResizeAppearance, setDragScrollDelay, setDragStartDistance, setDragTarget, setDragType, setDropTypes, setDropTypes, setDynamicContents, setEdgeBackgroundColor, setEdgeCenterBackgroundColor, setEdgeImage, setEdgeMarginSize, setEdgeOffset, setEdgeOpacity, setEdgeShowCenter, setEdgeSize, setEditMode, setEditMode, setEditMode, setElement, setExtraSpace, setFacetId, setGroupBorderCSS, setGroupLabelBackgroundColor, setGroupLabelStyleName, setGroupTitle, setHeight, setHeight, setHeight, setHeight100, setHideUsingDisplayNone, setHoverAlign, setHoverAutoDestroy, setHoverDelay, setHoverHeight, setHoverMoveWithMouse, setHoverOpacity, setHoverStyle, setHoverVAlign, setHoverWidth, setHoverWrap, setHtmlElement, setHtmlPosition, setImage, setImage, setInitHandler, setIsGroup, setIsSnapAlignCandidate, setKeepInParentRect, setKeepInParentRect, setKeepInParentRect, setLayoutAlign, setLayoutAlign, setLeavePageSpace, setLeft, setLeft, setLocateChildrenBy, setLocateChildrenType, setLocatePeersBy, setLocatePeersType, setLogicalStructure, setMargin, setMatchElement, setMaxHeight, setMaxWidth, setMenuConstructor, setMinHeight, setMinNonEdgeSize, setMinWidth, setMomentumScrollMinSpeed, setMouseStillDownDelay, setMouseStillDownInitialDelay, setNeverUseFilters, setNoDoubleClicks, setNoDropCursor, setOpacity, setPadding, setPageLeft, setPageTop, setParentCanvas, setParentElement, setPeers, setPercentBox, setPercentSource, setPosition, setPrefix, setPrintChildrenAbsolutelyPositioned, setPrompt, setProportionalResizeModifiers, setProportionalResizing, setRect, setRect, setRedrawOnResize, setResizeBarTarget, setResizeFrom, setResizeFrom, setRight, setScrollbarConstructor, setScrollbarSize, setShadowDepth, setShadowImage, setShadowOffset, setShadowSoftness, setShouldPrint, setShowCustomScrollbars, setShowDragShadow, setShowEdges, setShowHover, setShowHoverComponents, setShowResizeBar, setShowShadow, setShowSnapGrid, setShrinkElementOnHide, setSkinImgDir, setSmoothFade, setSnapAlignCandidates, setSnapAlignCenterLineStyle, setSnapAlignEdgeLineStyle, setSnapAxis, setSnapEdge, setSnapHDirection, setSnapHGap, setSnapOffsetLeft, setSnapOffsetTop, setSnapOnDrop, setSnapResizeToAlign, setSnapResizeToGrid, setSnapTo, setSnapToAlign, setSnapToCenterAlign, setSnapToEdgeAlign, setSnapToGrid, setSnapVDirection, setSnapVGap, setStyleName, setTabIndex, setTitle, setTooltip, setTop, setTop, setUseBackMask, setUseDragMask, setUseNativeDrag, setUseOpacityFilter, setUseTouchScrolling, setValuesManager, setVisibility, setVisible, setWidth, setWidth, setWidth, setWidth100, setZIndex, shouldDragScroll, show, showClickMask, showComponentMask, showComponentMask, showNextTo, showNextTo, showNextTo, showNextTo, showPrintPreview, showPrintPreview, showPrintPreview, showPrintPreview, showRecursively, updateEditNode, updateHover, updateHover, updateShadow, visibleAtPoint, willAcceptDrop`

    - ### Methods inherited from class com.smartgwt.client.widgets.BaseWidget

      `addDrawHandler, applyFactoryProperties, destroy, doAddHandler, doInit, doOnRender, draw, equals, error, errorIfNotCreated, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDateArray, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsFloatArray, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getConfig, getDOM, getHandlerCount, getID, getInnerHTML, getJsObj, getOrCreateJsObj, getRef, getScClassName, hasAutoAssignedID, hashCode, initNativeObject, internalSetID, internalSetID, isConfigOnly, isCreated, isFactoryCreated, onBind, onDestroy, onDraw, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setDragTracker, setFactoryCreated, setID, setJavaScriptObject, setLogicalStructure, setNullProperty, setPosition, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setScClassName, toString`

    - ### Methods inherited from class com.google.gwt.user.client.ui.Widget

      `addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents`

    - ### Methods inherited from class com.google.gwt.user.client.ui.UIObject

      `addStyleDependentName, ensureDebugId, ensureDebugId, ensureDebugId, getStyleElement, getStyleName, getStylePrimaryName, getStylePrimaryName, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setVisible, sinkBitlessEvent`

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

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

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

      `fireEvent`

- - ### Constructor Detail

    - #### BatchUploader

          public BatchUploader()

    - #### BatchUploader

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

  - ### Method Detail

    - #### getOrCreateRef

          public static BatchUploader 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`

    - #### create

          protected com.google.gwt.core.client.JavaScriptObject create()

      Overrides:
        `create` in class `VStack`

    - #### setAllRecordsInErrorMessage

          public void setAllRecordsInErrorMessage(java.lang.String allRecordsInErrorMessage)
                                           throws java.lang.IllegalStateException

      Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has errors
      Parameters:
        `allRecordsInErrorMessage` - Default value is "All records have errors; nothing to commit"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getAllRecordsInErrorMessage

          public java.lang.String getAllRecordsInErrorMessage()

      Message to display when the user clicks "Commit" but there is nothing we can commit because every row in the grid has errors
      Returns:
        String

    - #### getCancelButton

          public IButton getCancelButton()
                                  throws java.lang.IllegalStateException

      Button that cancels the uncommitted upload.

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

      Returns:
        IButton
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setCancelButtonTitle

          public void setCancelButtonTitle(java.lang.String cancelButtonTitle)
                                    throws java.lang.IllegalStateException

      Title for the `cancel button`.
      Parameters:
        `cancelButtonTitle` - Default value is "Cancel"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCancelButtonTitle

          public java.lang.String getCancelButtonTitle()

      Title for the `cancel button`.
      Returns:
        String

    - #### setCancelConfirmMessage

          public void setCancelConfirmMessage(java.lang.String cancelConfirmMessage)

      Confirmation message to show if the user clicks the "Cancel" button and `warnOnCancel` is true. Defaults to "You will lose any work you have done on this data. Proceed anyway?"
      Parameters:
        `cancelConfirmMessage` - Default value is See below

    - #### getCancelConfirmMessage

          public java.lang.String getCancelConfirmMessage()

      Confirmation message to show if the user clicks the "Cancel" button and `warnOnCancel` is true. Defaults to "You will lose any work you have done on this data. Proceed anyway?"
      Returns:
        String

    - #### getCommitButton

          public IButton getCommitButton()
                                  throws java.lang.IllegalStateException

      Button that commits changes once the user is happy with the data.

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

      Returns:
        IButton
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setCommitButtonTitle

          public void setCommitButtonTitle(java.lang.String commitButtonTitle)
                                    throws java.lang.IllegalStateException

      Title for the `commit button`.
      Parameters:
        `commitButtonTitle` - Default value is "Commit"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCommitButtonTitle

          public java.lang.String getCommitButtonTitle()

      Title for the `commit button`.
      Returns:
        String

    - #### setCommitConfirmationMessage

          public void setCommitConfirmationMessage(java.lang.String commitConfirmationMessage)
                                            throws java.lang.IllegalStateException

      Message to display after data has been committed, when `showCommitConfirmation` is true.
      Parameters:
        `commitConfirmationMessage` - Default value is "Records added"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getCommitConfirmationMessage

          public java.lang.String getCommitConfirmationMessage()

      Message to display after data has been committed, when `showCommitConfirmation` is true.
      Returns:
        String

    - #### setDataFormat

          public void setDataFormat(ImportFormat dataFormat)
                             throws java.lang.IllegalStateException

      Format to assume for user-provided data. Use `ImportFormat` "auto" for auto-detection.
      Parameters:
        `dataFormat` - Default value is "csv"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDataFormat

          public ImportFormat getDataFormat()

      Format to assume for user-provided data. Use `ImportFormat` "auto" for auto-detection.
      Returns:
        ImportFormat

    - #### setDataURL

          public void setDataURL(java.lang.String dataURL)

      If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually populate the data. You can use this facility to route the queue to your own server-side logic, for example to add pre- or post-processing.
      Parameters:
        `dataURL` - Default value is null

    - #### getDataURL

          public java.lang.String getDataURL()

      If set, the batchUploader will copy this value to the queue of "add" requests it sends to the server to actually populate the data. You can use this facility to route the queue to your own server-side logic, for example to add pre- or post-processing.
      Returns:
        String

    - #### setDefaultDelimiter

          public void setDefaultDelimiter(java.lang.String defaultDelimiter)

      Deprecated. in favor of `uploadDelimiter`
      The delimiter to use when importing character-delimited files. The default is comma (CSV).
      Parameters:
        `defaultDelimiter` - Default value is ","

    - #### getDefaultDelimiter

          public java.lang.String getDefaultDelimiter()

      Deprecated. in favor of `uploadDelimiter`
      The delimiter to use when importing character-delimited files. The default is comma (CSV).
      Returns:
        String

    - #### setDefaultQuoteString

          public void setDefaultQuoteString(java.lang.String defaultQuoteString)

      Deprecated. in favor of `uploadQuoteString`
      The default character used to quote strings.
      Parameters:
        `defaultQuoteString` - Default value is "\""

    - #### getDefaultQuoteString

          public java.lang.String getDefaultQuoteString()

      Deprecated. in favor of `uploadQuoteString`
      The default character used to quote strings.
      Returns:
        String

    - #### setDiscardedColumnsMessage

          public void setDiscardedColumnsMessage(java.lang.String discardedColumnsMessage)
                                          throws java.lang.IllegalStateException

      Message displayed when columns in the imported file were discarded and `displayDiscardedColumns` is true. Within this message, ${discardedColumns} can be used to show a comma separated list of the column names that were discarded (example: "price, saleDate, total").

      Default message is: "The following columns in your uploaded file were ignored because they did not match any of the expected column names: ${discardedColumns}"

      Parameters:
        `discardedColumnsMessage` - Default value is "..."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDiscardedColumnsMessage

          public java.lang.String getDiscardedColumnsMessage()

      Message displayed when columns in the imported file were discarded and `displayDiscardedColumns` is true. Within this message, ${discardedColumns} can be used to show a comma separated list of the column names that were discarded (example: "price, saleDate, total").

      Default message is: "The following columns in your uploaded file were ignored because they did not match any of the expected column names: ${discardedColumns}"

      Returns:
        String

    - #### setDisplayDiscardedColumns

          public void setDisplayDiscardedColumns(java.lang.Boolean displayDiscardedColumns)
                                          throws java.lang.IllegalStateException

      If columns were present in the imported data that were discarded because they could not be matched to any DataSource fields, whether these should be displayed to the user, using the `discardedColumnsMessage` shown within the `uploadStatusMessages` component.
      Parameters:
        `displayDiscardedColumns` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getDisplayDiscardedColumns

          public java.lang.Boolean getDisplayDiscardedColumns()

      If columns were present in the imported data that were discarded because they could not be matched to any DataSource fields, whether these should be displayed to the user, using the `discardedColumnsMessage` shown within the `uploadStatusMessages` component.
      Returns:
        Boolean

    - #### setErrorMessageDelimiterOrEndOfLine

          public void setErrorMessageDelimiterOrEndOfLine(java.lang.String errorMessageDelimiterOrEndOfLine)
                                                   throws java.lang.IllegalStateException

      Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the first line.
      Parameters:
        `errorMessageDelimiterOrEndOfLine` - Default value is "Delimiter or end of line expected after quoted value - problem found in the first line at character position: ${errorOffset}."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageDelimiterOrEndOfLine

          public java.lang.String getErrorMessageDelimiterOrEndOfLine()

      Error message to show when the uploading process detects a missing delimiter or end of line after quoted value in the first line.
      Returns:
        String

    - #### setErrorMessageFileIsBlank

          public void setErrorMessageFileIsBlank(java.lang.String errorMessageFileIsBlank)
                                          throws java.lang.IllegalStateException

      Error message to show when the uploading process detects a file with no data.
      Parameters:
        `errorMessageFileIsBlank` - Default value is "The provided file is blank. Please, provide a file with data"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageFileIsBlank

          public java.lang.String getErrorMessageFileIsBlank()

      Error message to show when the uploading process detects a file with no data.
      Returns:
        String

    - #### setErrorMessageInputType

          public void setErrorMessageInputType(java.lang.String errorMessageInputType)
                                        throws java.lang.IllegalStateException

      Error message to show when the uploading process detects an invalid inputType.
      Parameters:
        `errorMessageInputType` - Default value is "Invalid inputType value was set!"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageInputType

          public java.lang.String getErrorMessageInputType()

      Error message to show when the uploading process detects an invalid inputType.
      Returns:
        String

    - #### setErrorMessageRowsNotParsed

          public void setErrorMessageRowsNotParsed(java.lang.String errorMessageRowsNotParsed)
                                            throws java.lang.IllegalStateException

      Error message to show when the uploaded file has rows other than the first row that could not be parsed.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.

      The following variables are available to be used in this message:

      - goodRowCount: Total rows that were parsed correctly.
      - totalRows: Total rows to be parsed in the uploaded file.
      - firstBadRow: First row that could not be parsed.
      - badRowCount: Total rows that could not be parsed.
      Parameters:
        `errorMessageRowsNotParsed` - Default value is "Some rows could not be parsed; the grid below shows ${goodRowCount} of ${totalRows} data rows. Row number ${firstBadRow} was the first row to fail to be parsed."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageRowsNotParsed

          public java.lang.String getErrorMessageRowsNotParsed()

      Error message to show when the uploaded file has rows other than the first row that could not be parsed.

      This is a dynamic string - text within `${...}` will be evaluated as JS code when the message is displayed.

      The following variables are available to be used in this message:

      - goodRowCount: Total rows that were parsed correctly.
      - totalRows: Total rows to be parsed in the uploaded file.
      - firstBadRow: First row that could not be parsed.
      - badRowCount: Total rows that could not be parsed.
      Returns:
        String

    - #### setErrorMessageUndeterminedDelimiter

          public void setErrorMessageUndeterminedDelimiter(java.lang.String errorMessageUndeterminedDelimiter)
                                                    throws java.lang.IllegalStateException

      Error message to show when the uploading process is unable to detect the delimiter.
      Parameters:
        `errorMessageUndeterminedDelimiter` - Default value is "We were unable to guess the delimiter"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageUndeterminedDelimiter

          public java.lang.String getErrorMessageUndeterminedDelimiter()

      Error message to show when the uploading process is unable to detect the delimiter.
      Returns:
        String

    - #### setErrorMessageUnterminatedQuote

          public void setErrorMessageUnterminatedQuote(java.lang.String errorMessageUnterminatedQuote)
                                                throws java.lang.IllegalStateException

      Error message to show when the uploading process detects an unterminated quote string in the first line.
      Parameters:
        `errorMessageUnterminatedQuote` - Default value is "Unterminated quote string - problem found in the first line at character position: ${errorOffset}."
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getErrorMessageUnterminatedQuote

          public java.lang.String getErrorMessageUnterminatedQuote()

      Error message to show when the uploading process detects an unterminated quote string in the first line.
      Returns:
        String

    - #### getGrid

          public ListGrid getGrid()
                           throws java.lang.IllegalStateException

      Grid which will show a preview of data to be uploaded, with errors flagged

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

      Returns:
        ListGrid
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setGridFields

          public void setGridFields(ListGridField... gridFields)

      Fields to apply to `grid`. These will override the field definitions in the `uploadDataSource` on a field by field basis, as described under `DataBoundComponent.fields`.
      Parameters:
        `gridFields` - Default value is null

    - #### getGridFields

          public ListGridField[] getGridFields()

      Fields to apply to `grid`. These will override the field definitions in the `uploadDataSource` on a field by field basis, as described under `DataBoundComponent.fields`.
      Returns:
        ListGridField...

    - #### setPartialCommit

          public void setPartialCommit(PartialCommitOption partialCommit)

      Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still contains some errors).
      Parameters:
        `partialCommit` - Default value is "prompt"

    - #### getPartialCommit

          public PartialCommitOption getPartialCommit()

      Specifies what action to take if the user attempts to commit a partially validated set of data (ie, one that still contains some errors).
      Returns:
        PartialCommitOption

    - #### setPartialCommitConfirmationMessage

          public void setPartialCommitConfirmationMessage(java.lang.String partialCommitConfirmationMessage)
                                                   throws java.lang.IllegalStateException

      Message to display after data has been committed, when `showCommitConfirmation` is true.
      Parameters:
        `partialCommitConfirmationMessage` - Default value is "Valid records added; some records remain in error"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getPartialCommitConfirmationMessage

          public java.lang.String getPartialCommitConfirmationMessage()

      Message to display after data has been committed, when `showCommitConfirmation` is true.
      Returns:
        String

    - #### setPartialCommitError

          public void setPartialCommitError(java.lang.String partialCommitError)

      If `partialCommit` is set to "prevent", the text to display to the user if they try to commit a dataset containing errors. By default, this text is "There are errors in your data. Please correct all errors before clicking Commit"
      Parameters:
        `partialCommitError` - Default value is See below

    - #### getPartialCommitError

          public java.lang.String getPartialCommitError()

      If `partialCommit` is set to "prevent", the text to display to the user if they try to commit a dataset containing errors. By default, this text is "There are errors in your data. Please correct all errors before clicking Commit"
      Returns:
        String

    - #### setPartialCommitPrompt

          public void setPartialCommitPrompt(java.lang.String partialCommitPrompt)

      If `partialCommit` is set to "prompt", the text to display to the user in the confirmation dialog. By default, this text is "There are errors in your data so it cannot all be saved. If you proceed, you will lose the records with errors. Click 'OK' to proceed anyway, or 'Cancel' to return to your data"
      Parameters:
        `partialCommitPrompt` - Default value is See below

    - #### getPartialCommitPrompt

          public java.lang.String getPartialCommitPrompt()

      If `partialCommit` is set to "prompt", the text to display to the user in the confirmation dialog. By default, this text is "There are errors in your data so it cannot all be saved. If you proceed, you will lose the records with errors. Click 'OK' to proceed anyway, or 'Cancel' to return to your data"
      Returns:
        String

    - #### setRequestProperties

          public void setRequestProperties(DSRequest requestProperties)

      Object containing properties to send with every "add" request this batchUploader sends.
      Parameters:
        `requestProperties` - Default value is null

    - #### getRequestProperties

          public DSRequest getRequestProperties()

      Object containing properties to send with every "add" request this batchUploader sends.
      Returns:
        DSRequest

    - #### setShowCommitConfirmation

          public void setShowCommitConfirmation(java.lang.Boolean showCommitConfirmation)
                                         throws java.lang.IllegalStateException

      Whether to show the `commit message` after data is successfully committed.
      Parameters:
        `showCommitConfirmation` - Default value is true
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getShowCommitConfirmation

          public java.lang.Boolean getShowCommitConfirmation()

      Whether to show the `commit message` after data is successfully committed.
      Returns:
        Boolean

    - #### setUpdatesRolledBackMessage

          public void setUpdatesRolledBackMessage(java.lang.String updatesRolledBackMessage)
                                           throws java.lang.IllegalStateException

      Message to display if at least one update was rolled back due to errors in another row. See the `transactions overview` for details of Smart GWT's automatic transactional updates feature
      Parameters:
        `updatesRolledBackMessage` - Default value is "One or more updates were rolled-back due to errors on other rows"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUpdatesRolledBackMessage

          public java.lang.String getUpdatesRolledBackMessage()

      Message to display if at least one update was rolled back due to errors in another row. See the `transactions overview` for details of Smart GWT's automatic transactional updates feature
      Returns:
        String

    - #### getUploadButton

          public IButton getUploadButton()
                                  throws java.lang.IllegalStateException

      Button that triggers the upload.

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

      Returns:
        IButton
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setUploadButtonTitle

          public void setUploadButtonTitle(java.lang.String uploadButtonTitle)
                                    throws java.lang.IllegalStateException

      Title for the `upload button`.
      Parameters:
        `uploadButtonTitle` - Default value is "Upload"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUploadButtonTitle

          public java.lang.String getUploadButtonTitle()

      Title for the `upload button`.
      Returns:
        String

    - #### setUploadDataSource

          public void setUploadDataSource(DataSource uploadDataSource)
                                   throws java.lang.IllegalStateException

      DataSource used to save uploaded records. Should have an operation of type "add".

      Be careful to note that this is the DataSource representing your data as it will be persisted to your server. It is completely different from the special "batchUpload" DataSource which is used purely as a medium to upload the raw data to the server in the first place.

      Parameters:
        `uploadDataSource` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUploadDataSource

          public DataSource getUploadDataSource()

      DataSource used to save uploaded records. Should have an operation of type "add".

      Be careful to note that this is the DataSource representing your data as it will be persisted to your server. It is completely different from the special "batchUpload" DataSource which is used purely as a medium to upload the raw data to the server in the first place.

      Returns:
        DataSource

    - #### setUploadDelimiter

          public void setUploadDelimiter(java.lang.String uploadDelimiter)

      The delimiter to use when importing character-delimited files. The default is comma (CSV).
      Parameters:
        `uploadDelimiter` - Default value is ","

    - #### getUploadDelimiter

          public java.lang.String getUploadDelimiter()

      The delimiter to use when importing character-delimited files. The default is comma (CSV).
      Returns:
        String

    - #### setUploadEncoding

          public void setUploadEncoding(java.lang.String uploadEncoding)

      The encoding to use when importing files. The default is "UTF-8".
      Parameters:
        `uploadEncoding` - Default value is "UTF-8"

    - #### getUploadEncoding

          public java.lang.String getUploadEncoding()

      The encoding to use when importing files. The default is "UTF-8".
      Returns:
        String

    - #### setUploadFieldPrefix

          public void setUploadFieldPrefix(java.lang.String uploadFieldPrefix)

      String to prepend to the names of the additional fields specified in `uploadFormFields` before they are stored in the HttpSession on the server. This property provides a basic namespace facility, allowing you to avoid name collisions with existing session attributes.

      Example usage: if you have an additional field called "someDate" and you set uploadFieldPrefix to "myFields_", your additionalFormField will be available as an HttpSession attribute called "myFields_someDate"

      Parameters:
        `uploadFieldPrefix` - Default value is null

    - #### getUploadFieldPrefix

          public java.lang.String getUploadFieldPrefix()

      String to prepend to the names of the additional fields specified in `uploadFormFields` before they are stored in the HttpSession on the server. This property provides a basic namespace facility, allowing you to avoid name collisions with existing session attributes.

      Example usage: if you have an additional field called "someDate" and you set uploadFieldPrefix to "myFields_", your additionalFormField will be available as an HttpSession attribute called "myFields_someDate"

      Returns:
        String

    - #### getUploadFileItem

          public FileItem getUploadFileItem()
                                     throws java.lang.IllegalStateException

      FileItem for selecting the file to upload.

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

      Returns:
        FileItem
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setUploadFileLabel

          public void setUploadFileLabel(java.lang.String uploadFileLabel)
                                  throws java.lang.IllegalStateException

      Title to display next to the `FileItem` field where the user enters a filename to upload
      Parameters:
        `uploadFileLabel` - Default value is "Upload File"
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUploadFileLabel

          public java.lang.String getUploadFileLabel()

      Title to display next to the `FileItem` field where the user enters a filename to upload
      Returns:
        String

    - #### getUploadForm

          public DynamicForm getUploadForm()
                                    throws java.lang.IllegalStateException

      Form used to specify file to upload, and any additional fields required.

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

      Returns:
        DynamicForm
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setUploadFormFields

          public void setUploadFormFields(FormItem... uploadFormFields)
                                   throws java.lang.IllegalStateException

      Optional fields for the uploadForm.
      Parameters:
        `uploadFormFields` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUploadFormFields

          public FormItem[] getUploadFormFields()

      Optional fields for the uploadForm.
      Returns:
        FormItem...

    - #### setUploadOperation

          public void setUploadOperation(java.lang.String uploadOperation)
                                  throws java.lang.IllegalStateException

      Optional `DSRequest.operationId` for the "add" operation used to add new records to the `uploadDataSource`.
      Parameters:
        `uploadOperation` - Default value is null
      Throws:
        `java.lang.IllegalStateException` - this property cannot be changed after the component has been created

    - #### getUploadOperation

          public java.lang.String getUploadOperation()

      Optional `DSRequest.operationId` for the "add" operation used to add new records to the `uploadDataSource`.
      Returns:
        String

    - #### setUploadQuoteString

          public void setUploadQuoteString(java.lang.String uploadQuoteString)

      The character used to quote strings. The default is double quotes.
      Parameters:
        `uploadQuoteString` - Default value is "\""

    - #### getUploadQuoteString

          public java.lang.String getUploadQuoteString()

      The character used to quote strings. The default is double quotes.
      Returns:
        String

    - #### getUploadStatusMessages

          public HTMLFlow getUploadStatusMessages()
                                           throws java.lang.IllegalStateException

      Container for informational messages that are shown when a user attempts an upload. Appears above the `grid`.

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

      Returns:
        HTMLFlow
      Throws:
        `java.lang.IllegalStateException` - if this widget has not yet been rendered.

    - #### setWarnOnCancel

          public void setWarnOnCancel(java.lang.Boolean warnOnCancel)

      If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is really what they want to do. The actual warning message is specified with `cancelConfirmMessage`
      Parameters:
        `warnOnCancel` - Default value is true

    - #### getWarnOnCancel

          public java.lang.Boolean getWarnOnCancel()

      If set, indicates that a warning dialog should be shown when Cancel is clicked, asking the user to confirm that this is really what they want to do. The actual warning message is specified with `cancelConfirmMessage`
      Returns:
        Boolean

    - #### setDefaultProperties

          public static void setDefaultProperties(BatchUploader batchUploaderProperties)

      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 set on the SmartGWT class instance passed to this function before its underlying SmartClient JS object was created. 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:
        `batchUploaderProperties` - properties that should be used as new defaults when instances of this class are created
      See Also:
        `SGWTProperties`

    - #### setUploadFormItems

          public void setUploadFormItems(FormItem... items)
                                  throws java.lang.IllegalStateException

      Synonym of `setUploadFormFields(FormItem...)`.
      Throws:
        `java.lang.IllegalStateException`

    - #### setLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject setLogicalStructure(com.smartgwt.logicalstructure.widgets.BatchUploaderLogicalStructure s)

      Setter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.

    - #### getLogicalStructure

          public com.smartgwt.logicalstructure.core.LogicalStructureObject getLogicalStructure()

      Getter implementing the `LogicalStructure` interface, which supports Eclipse's logical structure debugging facility.
      Specified by:
        `getLogicalStructure` in interface `LogicalStructure`
      Overrides:
        `getLogicalStructure` in class `VStack`