Class HxmFunction

  • All Implemented Interfaces:
    java.lang.AutoCloseable

    public class HxmFunction
    extends java.lang.Object
    implements java.lang.AutoCloseable
    A function can be either user-defined function or built-in function. It is possible to create external functions from the modeler API and call them in the modeler. See HxmFunctor for more information on how to create external functions. Functions are also used to represent the various methods of modeler classes.
    Since:
    10.0
    See Also:
    HxmFunctor, HxmClass
    • Method Detail

      • close

        public void close()

        Releases the reference. If this function was already released, returns immediately and does nothing. Invoking any method on this object after this operation will throw an exception.

        Note: Releasing a reference does not necessarily imply that the underlying function object is destroyed. It is only destroyed if no more references point to it.

        Specified by:
        close in interface java.lang.AutoCloseable
        Since:
        11.5
      • getDeclaredName

        public java.lang.String getDeclaredName()
        Gets the name of the function. The name of the function does not necessarily reflect the name of the variable(s) to which the function is associated. The name is mainly used to identify the function in stack traces when exceptions occur.
      • callThis

        public HxmValue callThis​(HxmValue self)
        Calls the function with no argument on the given object. Within the function, the "this" variable will be initialized to the supplied object.
        Parameters:
        self - The value to be used as the "this" variable.
        Returns:
        Return value of the call.
        Since:
        13.0
        See Also:
        HxmValue
      • call

        public HxmValue call()
        Calls the function with no argument. The call is not bound to an object. Consequently, the "this" variable will be nil within the function.
        Returns:
        Return value of the call.
        See Also:
        HxmValue
      • callThis

        public HxmValue callThis​(HxmValue self,
                                 HxmValue... arguments)
        Calls the function with the provided arguments on the given object. Within the function, the "this" variable will be initialized to the supplied object.
        Parameters:
        self - The value to be used as the "this" variable.
        arguments - List of arguments.
        Returns:
        Return value of the call.
        Since:
        13.0
        See Also:
        HxmValue
      • call

        public HxmValue call​(HxmValue... arguments)
        Calls the function with the provided arguments. The call is not bound to an object. Consequently, the "this" variable will be nil within the function.
        Parameters:
        arguments - List of arguments.
        Returns:
        Return value of the call.
        See Also:
        HxmValue
      • callThis

        public HxmValue callThis​(HxmValue self,
                                 java.util.List<HxmValue> arguments)
        Calls the function with the provided arguments on the given object. Within the function, the "this" variable will be initialized to the supplied object.
        Parameters:
        self - The value to be used as the "this" variable.
        arguments - List of arguments.
        Returns:
        Return value of the call.
        Since:
        13.0
        See Also:
        HxmValue
      • call

        public HxmValue call​(java.util.List<HxmValue> arguments)
        Calls the function with the provided arguments. The call is not bound to an object. Consequently, the "this" variable will be nil within the function.
        Parameters:
        arguments - List of arguments
        Returns:
        Return value of the call.
        See Also:
        HxmValue
      • asValue

        public HxmValue asValue()
        Gets the HxmFunction as HxmValue.
        See Also:
        HxmValue
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object