Package com.hexaly.modeler
Class HxmFunction
- java.lang.Object
-
- com.hexaly.modeler.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. SeeHxmFunctor
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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HxmValue
asValue()
Gets the HxmFunction as HxmValue.HxmValue
call()
Calls the function with no argument.HxmValue
call(HxmValue... arguments)
Calls the function with the provided arguments.HxmValue
call(java.util.List<HxmValue> arguments)
Calls the function with the provided arguments.HxmValue
callThis(HxmValue self)
Calls the function with no argument on the given object.HxmValue
callThis(HxmValue self, HxmValue... arguments)
Calls the function with the provided arguments on the given object.HxmValue
callThis(HxmValue self, java.util.List<HxmValue> arguments)
Calls the function with the provided arguments on the given object.void
close()
Releases the reference.boolean
equals(java.lang.Object obj)
java.lang.String
getDeclaredName()
Gets the name of the function.int
hashCode()
-
-
-
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 interfacejava.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
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
-