Class XItemUtil

java.lang.Object
de.xima.fc.form.common.XItemUtil

public class XItemUtil extends Object
  • Constructor Details

    • XItemUtil

      public XItemUtil()
  • Method Details

    • addItem

      public static void addItem(XItem item, XForm form)
    • fillXFormData

      public static void fillXFormData(com.alibaba.fastjson.JSONObject persist, XForm form) throws com.alibaba.fastjson.JSONException
      Throws:
      com.alibaba.fastjson.JSONException
    • findItemByName

      public static XItem findItemByName(IXForm xForm, String formFieldName)
      Finds the item with the given name in the form.
      Parameters:
      xForm - Form in which to find the item.
      formFieldName - Name of the item to find.
      Returns:
      The item with the given name in the form or null if no such item exists.
    • findPage

      public static XItem findPage(Map<String,XItem> items, XItem item)
      Parameters:
      items - Map between the ID of an item and the item itself.
      item - Item for which to get the page.
      Returns:
      The item representing the XPage which contains the given item.
    • findRepetitionContainer

      public static XItem findRepetitionContainer(XItem item, IXForm xForm)
      Finds the closest parent item that is a repetition container for the given item.
      Parameters:
      item - Item for which to find the closest repetition container.
      xForm - Form in which the item is located.
      Returns:
      The closest parent item that is a repetition container for the given item.
    • getAcceptedFileExtensions

      public static Set<String> getAcceptedFileExtensions(XItem xItem)
    • getBuiltinItemTypes

      public static Set<Class<? extends IXItemBasic>> getBuiltinItemTypes()
      Gets an (immutable) set of all builtin form item types provided by the formcycle core. This does not include items provided by widget plugins.
      Returns:
      All builtin item types.
      Since:
      8.1.0
    • getItemHandler

      public static IXItemBasic getItemHandler(String className, Map<String, Class<? extends IXItemBasic>> xitems, Map<String, XItemWidgetWrapper> widgets)
      Parameters:
      className - (Simple) class name of the item type.
      xitems - Map with all available built-in item types.
      widgets - Map with all available plugin item types.
      Returns:
      An instantiated handler for the given item type.
    • getItemTypeClass

      public static Class<? extends IXItemBasic> getItemTypeClass(String className, Map<String, Class<? extends IXItemBasic>> xitems, Map<String, XItemWidgetWrapper> widgets)
      Parameters:
      className - (Simple) class name of the item type.
      xitems - Map with all available built-in item types.
      widgets - Map with all available plugin item types.
      Returns:
      The class for the given item type.
    • getItemTypeClass

      public static Class<? extends IXItemBasic> getItemTypeClass(XItem item, IFD2XItemProvider provider)
      Parameters:
      item - An item for which to find its handler class.
      provider - Item provider with the known item classes.
      Returns:
      The handler class for the given item.
    • getItemsByClassName

      public static Map<String, List<XItem>> getItemsByClassName(com.alibaba.fastjson.JSONObject persist, String... classNames) throws com.alibaba.fastjson.JSONException
      Finds form items by their class name. Only parses those items that match the given class names.
      Parameters:
      persist - Persist JSON of the form.
      classNames - All form item class names that should be returned. When null or empty, all types are returned.
      Returns:
      A map between the item type (class name) and all form items of that type.
      Throws:
      com.alibaba.fastjson.JSONException - When the persist is invalid.
    • getItemsByClasses

      public static Map<String, List<XItem>> getItemsByClasses(com.alibaba.fastjson.JSONObject persist, IFD2XItemProvider provider, Class<?>... classes) throws com.alibaba.fastjson.JSONException
      Finds form items by their class name. Only parses those items that match the given class names.
      Parameters:
      persist - Persist JSON of the form.
      provider - Item provider with the known item classes.
      classes - List of form item classes to return, can be a super class or super interface. When null or empty, all types are returned.
      Returns:
      A map between the item type (class name) and all form items of that type.
      Throws:
      com.alibaba.fastjson.JSONException - When the persist is invalid.
    • getItemsByClasses

      public static Map<String, List<XItem>> getItemsByClasses(com.alibaba.fastjson.JSONObject persist, Map<String, Class<? extends IXItemBasic>> xItems, Map<String, XItemWidgetWrapper> widgets, Class<?>... classes) throws com.alibaba.fastjson.JSONException
      Finds form items by their class name. Only parses those items that match the given class names.
      Parameters:
      persist - Persist JSON of the form.
      xItems - Map with all available built-in item types.
      widgets - Map with all available plugin item types.
      classes - List of form item classes to return, can be a super class or super interface. When null or empty, all types are returned.
      Returns:
      A map between the item type (class name) and all form items of that type.
      Throws:
      com.alibaba.fastjson.JSONException - When the persist is invalid.
    • getItemsByIdMap

      public static Map<String,XItem> getItemsByIdMap(com.alibaba.fastjson.JSONObject persist) throws com.alibaba.fastjson.JSONException
      Throws:
      com.alibaba.fastjson.JSONException
    • getItemsMap

      public static HashMap<String,XItem> getItemsMap(com.alibaba.fastjson.JSONObject persist) throws com.alibaba.fastjson.JSONException
      Throws:
      com.alibaba.fastjson.JSONException
    • getLabel

      public static String getLabel(XItem xItem, Locale locale)
      Returns the label of the given item in the given locale.
      Parameters:
      xItem - Item for which to get the label.
      locale - Locale in which to get the label.
      Returns:
      The label of the given item in the given locale.
    • getMaxFileSize

      public static Long getMaxFileSize(XItem xItem)
      Returns the maximum file size for the given item. If no maximum file size is set, null is returned, indicating that there is no maximum file size.
      Parameters:
      xItem - Item for which to get the maximum file size.
      Returns:
      The maximum file size for the given item or null if no maximum file size is set.
    • getMaxRepetitions

      public static int getMaxRepetitions(XItem xItem)
      Returns the maximum number of repetitions for the given item.
      Parameters:
      xItem - Item for which to get the maximum number of repetitions.
      Returns:
      The maximum number of repetitions for the given item.
    • getMinRepetitions

      public static int getMinRepetitions(XItem xItem)
      Returns the minimum number of repetitions for the given item.
      Parameters:
      xItem - Item for which to get the minimum number of repetitions.
      Returns:
      The minimum number of repetitions for the given item.
    • getXItem

      @Deprecated public static XItem getXItem(com.alibaba.fastjson.JSONObject jsonObject, IXFormRenderConfig xRenderConfig)
      Parameters:
      jsonObject - JSON object with the properties of the item.
      xRenderConfig - Current render configuration of the form.
      Returns:
      The item descriptor for the given parameters.
    • getXItem

      @Deprecated public static XItem getXItem(com.alibaba.fastjson.JSONObject jsonObject, IXFormRenderConfig xRenderConfig, com.alibaba.fastjson.JSONObject version)
      Deprecated.
      The xRenderConfig is not needed. Use getXItem(JSONObject, JSONObject).
      Parameters:
      jsonObject - JSON object with the properties of the item.
      xRenderConfig - Current render configuration of the form.
      version - Version of the form.
      Returns:
      The item descriptor for the given parameters.
    • getXItem

      public static XItem getXItem(com.alibaba.fastjson.JSONObject jsonObject, com.alibaba.fastjson.JSONObject version)
      Parameters:
      jsonObject - JSON object with the properties of the item.
      version - Version of the form.
      Returns:
      The item descriptor for the given parameters.