Class SingleFileComponent

  • All Implemented Interfaces:
    ValidationCallbackMixin, EventListener, javax.faces.component.NamingContainer, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.component.UniqueIdVendor, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder

    public class SingleFileComponent
    extends javax.faces.component.UINamingContainer
    implements ValidationCallbackMixin
    Component class for the <xp:singleFile /> component. Also contains various helper methods needed by the component's XHTML page.
    Since:
    8.5.0
    • Field Summary

      • Fields inherited from class javax.faces.component.UINamingContainer

        COMPONENT_FAMILY, COMPONENT_TYPE, SEPARATOR_CHAR_PARAM_NAME
      • Fields inherited from class javax.faces.component.UIComponent

        ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY
      • Fields inherited from interface javax.faces.component.NamingContainer

        SEPARATOR_CHAR
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void encodeBegin​(javax.faces.context.FacesContext context)  
      String getDisplayTextFileName()
      Gets the display text for the file name of the dynamic file parameter.
      String getDisplayTextFileTypes()
      Gets the display text for the file types of the dynamic file parameter.
      String getDisplayTextMultiplicity()
      Gets the display text for the multiplicity of the dynamic file parameter.
      String getDisplayTextSource()
      Gets the display text for the source of the prompt file.
      PromptFileSetParameter getDynamicFile()
      Gets the dynamic file, when the source is set to DYNAMIC.
      List<String> getFileTypeExtensions()
      Assumes that this method is called within a context where an EL expression "#{item}" resolves to the current PromptFileSetParameter instance, i.e. at the proper position within the XHTML page.
      Set<PromptFileType.PromptFileKind> getFileTypeKinds()
      Assumes that this method is called within a context where an EL expression "#{item}" resolves to the current PromptFileSetParameter instance, i.e. at the proper position within the XHTML page.
      List<javax.faces.model.SelectItem> getKinds()
      Returns the list of available kinds as SelectItems, e.g. for use as select options in a dropdown menu.
      List<javax.faces.model.SelectItem> getMultiplicities()
      Returns the list of available multiplicities as SelectItems, e.g. for use as select options in a dropdown menu.
      List<javax.faces.model.SelectItem> getSources()
      Returns a list of available options for the source of the file, i.e. no file, a static file, or a dynamic file.
      PromptConfigFile getStaticFile()
      Gets the static file, when the source is set to STATIC.
      boolean isShowDynamic()
      Whether to show the UI for the dynamic file, i.e. whether the source is set to DYNAMIC.
      boolean isShowStatic()
      Whether to show the UI for the static file, i.e. whether the source is set to STATIC.
      void onChangeSource​(PromptFileSource source)
      Callback invoked when the user changes the source of the prompt config file.
      void onFileDelete​(javax.faces.event.ActionEvent event)
      Callback invoked when the user clicked on the delete button of the prompt config file.
      org.primefaces.model.StreamedContent onFileDownload()
      Callback invoked when the user clicks on the download button to download the existing prompt config file.
      void onFileUpload​(org.primefaces.event.FileUploadEvent event)
      Callback invoked when the user uploads a static file.
      void processUpdates​(javax.faces.context.FacesContext context)  
      void processValidators​(javax.faces.context.FacesContext context)  
      void setFileTypeExtensions​(List<String> fileTypeExtensions)
      Sets the file type extensions for the current parameter, by modifying the list returned by getFileTypeExtensions().
      void setFileTypeKinds​(Set<PromptFileType.PromptFileKind> fileTypeKinds)
      Sets the file type kinds for the current parameter, by modifying the set returned by getFileTypeKinds().
      boolean validateSelf​(javax.faces.context.FacesContext context)
      Validates the component (and not its children), returning whether it is valid or not.
      • Methods inherited from class javax.faces.component.UINamingContainer

        createUniqueId, getFamily, getSeparatorChar, visitTree
      • Methods inherited from class javax.faces.component.UIComponentBase

        addClientBehavior, addFacesListener, broadcast, clearInitialState, decode, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getPassThroughAttributes, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, markInitialState, processDecodes, processRestoreState, processSaveState, queueEvent, removeFacesListener, restoreAttachedState, restoreState, saveAttachedState, saveState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent
      • Methods inherited from class javax.faces.component.UIComponent

        encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getPassThroughAttributes, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, processEvent, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression
      • Methods inherited from interface javax.faces.component.StateHolder

        isTransient, restoreState, saveState, setTransient
    • Constructor Detail

      • SingleFileComponent

        public SingleFileComponent()
    • Method Detail

      • encodeBegin

        public void encodeBegin​(javax.faces.context.FacesContext context)
                         throws IOException
        Overrides:
        encodeBegin in class javax.faces.component.UIComponentBase
        Throws:
        IOException
      • getDisplayTextFileName

        public String getDisplayTextFileName()
        Gets the display text for the file name of the dynamic file parameter. Includes HTML markup for the inline editing feature that lets the user click on the file name to edit it.
        Returns:
        The display text for the file name.
      • getDisplayTextFileTypes

        public String getDisplayTextFileTypes()
        Gets the display text for the file types of the dynamic file parameter. Includes HTML markup for the inline editing feature that lets the user click on the file types to edit them.
        Returns:
        The display text for the file types.
      • getDisplayTextMultiplicity

        public String getDisplayTextMultiplicity()
        Gets the display text for the multiplicity of the dynamic file parameter. Includes HTML markup for the inline editing feature that lets the user click on the multiplicity to edit it.
        Returns:
        The display text for the multiplicity.
      • getDisplayTextSource

        public String getDisplayTextSource()
        Gets the display text for the source of the prompt file. Includes HTML markup for the inline editing feature that lets the user click on the source to edit it.
        Returns:
        The display text for the source.
      • setFileTypeExtensions

        public void setFileTypeExtensions​(List<String> fileTypeExtensions)
        Sets the file type extensions for the current parameter, by modifying the list returned by getFileTypeExtensions().
        Parameters:
        fileTypeExtensions - The new list of file type extensions.
      • setFileTypeKinds

        public void setFileTypeKinds​(Set<PromptFileType.PromptFileKind> fileTypeKinds)
        Sets the file type kinds for the current parameter, by modifying the set returned by getFileTypeKinds().
        Parameters:
        fileTypeKinds - The new set of file type kinds.
      • getKinds

        public List<javax.faces.model.SelectItem> getKinds()
        Returns the list of available kinds as SelectItems, e.g. for use as select options in a dropdown menu.
        Returns:
        The list of available file kinds.
      • getMultiplicities

        public List<javax.faces.model.SelectItem> getMultiplicities()
        Returns the list of available multiplicities as SelectItems, e.g. for use as select options in a dropdown menu.
        Returns:
        The list of available multiplicities.
      • getSources

        public List<javax.faces.model.SelectItem> getSources()
        Returns a list of available options for the source of the file, i.e. no file, a static file, or a dynamic file.
        Returns:
        The list of available sources.
      • getStaticFile

        public PromptConfigFile getStaticFile()
        Gets the static file, when the source is set to STATIC. May be null when no static file is uploaded.
        Returns:
        The static prompt config file.
      • isShowDynamic

        public boolean isShowDynamic()
        Whether to show the UI for the dynamic file, i.e. whether the source is set to DYNAMIC.
        Returns:
        True if the dynamic file UI should be shown, false otherwise.
      • isShowStatic

        public boolean isShowStatic()
        Whether to show the UI for the static file, i.e. whether the source is set to STATIC.
        Returns:
        True if the static file UI should be shown, false otherwise.
      • onChangeSource

        public void onChangeSource​(PromptFileSource source)
        Callback invoked when the user changes the source of the prompt config file. Updates the model to reflect the new source.
        Parameters:
        source - The new source selected by the user.
      • onFileDelete

        public void onFileDelete​(javax.faces.event.ActionEvent event)
        Callback invoked when the user clicked on the delete button of the prompt config file. Removes the file.
        Parameters:
        event - The action event from the delete button click.
      • onFileDownload

        public org.primefaces.model.StreamedContent onFileDownload()
        Callback invoked when the user clicks on the download button to download the existing prompt config file.
        Returns:
        A StreamedContent with the file's content, name, and MIME type.
      • onFileUpload

        public void onFileUpload​(org.primefaces.event.FileUploadEvent event)
        Callback invoked when the user uploads a static file.
        Parameters:
        event - The event containing the uploaded files
      • processUpdates

        public void processUpdates​(javax.faces.context.FacesContext context)
        Overrides:
        processUpdates in class javax.faces.component.UIComponentBase
      • processValidators

        public void processValidators​(javax.faces.context.FacesContext context)
        Specified by:
        processValidators in interface ValidationCallbackMixin
        Overrides:
        processValidators in class javax.faces.component.UIComponentBase
      • validateSelf

        public boolean validateSelf​(javax.faces.context.FacesContext context)
        Description copied from interface: ValidationCallbackMixin
        Validates the component (and not its children), returning whether it is valid or not. You can add Faces messages within this method if validation fails.
        Specified by:
        validateSelf in interface ValidationCallbackMixin
        Parameters:
        context - The current Faces context.
        Returns:
        True if this component is valid, false otherwise.