Class XItemUtil


  • public class XItemUtil
    extends Object
    • Field Detail

      • LOG

        protected static final org.slf4j.Logger LOG
    • Constructor Detail

      • XItemUtil

        public XItemUtil()
    • Method Detail

      • 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.
      • addItem

        public static void addItem​(XItem item,
                                   XForm form)
      • 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.
      • fillXFormData

        public static void fillXFormData​(com.alibaba.fastjson.JSONObject persist,
                                         XForm form)
                                  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
      • getItemsByIdMap

        public static Map<String,​XItem> getItemsByIdMap​(com.alibaba.fastjson.JSONObject persist)
                                                       throws com.alibaba.fastjson.JSONException
        Throws:
        com.alibaba.fastjson.JSONException
      • 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.
      • 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.
      • 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.
      • 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​(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.