Class ComponentsCtrl


  • public class ComponentsCtrl
    extends java.lang.Object
    Utilities for implementing components.
    Author:
    tomyeh
    • Constructor Detail

      • ComponentsCtrl

        public ComponentsCtrl()
    • Method Detail

      • toAutoId

        public static final java.lang.String toAutoId​(java.lang.String prefix,
                                                      int val)
        Returns the automatically generate component's UUID/ID.
      • encodeId

        public static final java.lang.String encodeId​(java.lang.StringBuffer sb,
                                                      int val)
        Returns an ID representing the specified number The ID consists of 0-9, a-z and _.
        Since:
        5.0.5
      • isAutoUuid

        public static final boolean isAutoUuid​(java.lang.String id)
        Returns whether an ID is generated automatically. Note: true is returned if id is null. Also notice that this method doesn't check if a custom ID generator (IdGenerator) is assigned.
        Since:
        5.0.3
      • checkUuid

        public static void checkUuid​(java.lang.String uuid)
        Checks if the given UUID is valid. UUID cannot be empty and can only have alphanumeric characters or underscore.
        Throws:
        UiException - if uuid is not valid.
      • isReservedAttribute

        public static final boolean isReservedAttribute​(java.lang.String name)
        Returns if the attribute name is reserved. If name is null, false is returned.
        Since:
        3.0.0
      • setRootParent

        public static final void setRootParent​(Component comp)
        Sets root parent

        Used only internally.

        Since:
        8.5.1
      • setCurrentInfo

        public static final void setCurrentInfo​(ComponentDefinition compdef)
        Sets the current component definition, which is used only by UiEngine to communicate with AbstractComponent.

        Used only internally.

        Since:
        3.0.0
      • setCurrentInfo

        public static void setCurrentInfo​(ComponentInfo compInfo)
        Sets the current component definition, which is used only by UiEngine to communicate with AbstractComponent.

        Used only internally.

        Since:
        3.0.0
      • setCurrentInfo

        public static void setCurrentInfo​(ShadowInfo compInfo)
        Sets the current shadow definition, which is used only by UiEngine to communicate with AbstractComponent.

        Used only internally.

        Since:
        8.0.0
      • parseEventExpression

        public static java.lang.Object[] parseEventExpression​(Component comp,
                                                              java.lang.String evtexpr,
                                                              Component defaultComp,
                                                              boolean deferred)
                                                       throws ComponentNotFoundException
        Pares the event expression.

        There are several formats for the event expression:

        • onClick
        • self.onClick
        • id.onClick
        • ../id1/id2.onClick
        • ${elexpr}.onClick
        Parameters:
        comp - the component that the event expression is referenced to
        evtexpr - the event expression.
        defaultComp - the default component which is used when evtexpr doesn't specify the component.
        deferred - whether to defer the conversion of the path to a component. If true and EL not specified or evaluated to a string, it returns the path directly rather than converting it to a component.
        Returns:
        a two element array. The first element is the component if deferred is false or EL is evaluated to a component, or a path, otherwise. The second component is the event name.
        Throws:
        ComponentNotFoundException
        Since:
        3.0.0
      • applyForward

        public static final void applyForward​(Component comp,
                                              java.lang.String forward)
        Applies the forward condition to the specified component.

        The basic format:
        onEvent1=id1/id2.onEvent2,onEvent3=id3.onEvent4

        See ComponentInfo.setForward(java.lang.String) for more information.

        Since:
        3.0.0
      • getEventMethod

        public static final java.lang.reflect.Method getEventMethod​(java.lang.Class<?> cls,
                                                                    java.lang.String evtnm)
        Returns the method for handling the specified event, or null if not available.
      • setEventMethodCache

        public static final void setEventMethodCache​(Cache cache)
        Sets the cache that stores the information about event handler methods.

        Default: FastReadCache. In additions, the number of caches is default to 97 and can be changed by use of the org.zkoss.zk.ui.eventMethods.cache.number property. The maximal allowed size of each cache, if GC, is default to 30 and can be changed by use of the org.zkoss.zk.ui.eventMethods.cache.maxSize property.

        Parameters:
        cache - the cache. It cannot be null. It must be thread safe. Once assigned, the caller shall not access it again.
        Since:
        3.0.0
      • redraw

        public static final java.util.Collection<JavaScriptValue> redraw​(java.util.Collection<? extends Component> comps)
        An utilities to create an array of JavaScript objects (JavaScriptValue) that can be used to mount the specified widget at the clients.
        Since:
        5.0.0