Package ortus.boxlang.runtime.types
Class FunctionalBIFAccess
java.lang.Object
ortus.boxlang.runtime.types.Function
ortus.boxlang.runtime.types.FunctionalBIFAccess
- All Implemented Interfaces:
Serializable,IBoxRunnable,IFunctionRunnable,IType
I wrap up a functional call to a BIF, passing along the arguments passed to me
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ortus.boxlang.runtime.types.Function
Function.Access -
Field Summary
Fields inherited from class ortus.boxlang.runtime.types.Function
$bx, ARGUMENT_COLLECTION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription_invoke(FunctionBoxContext context) Implement this method to invoke the actual function logicbooleancanOutput(FunctionBoxContext context) If we are wrapping a BIF that outputs something, don't block itGet access modifier of the functionGet any annotations declared for this function, both the @annotation syntax and inline.Argument[]We return nothing here since the methos handle isn't resolved yet so we don't know what overloaded args we may have.Get the contents of the documentation comment for this function.The imports for this runnablegetName()Get the name of the function.We don't actually know the return type of the method until we call itThe AST (abstract syntax tree) of the runnableGet the date the template was compiledlongGet the version of the BoxLang runtimeThe path to the templateThe original source typestatic FunctionalBIFAccessbooleanTrue if the function requires strict arguments (basically a java method) or false if this is a Boxlang method which can accept additional arbitrary argumentsMethods inherited from class ortus.boxlang.runtime.types.Function
asString, createArgumentsScope, createArgumentsScope, createArgumentsScope, ensureReturnType, generateFunctionContext, generateFunctionContext, getBoxMeta, getDefaultOutput, getMetaData, getModifiers, hasModifier, implementsSignature, invoke, signatureAsStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ortus.boxlang.runtime.types.IType
computeHashCode
-
Constructor Details
-
FunctionalBIFAccess
Constructor Create a new abstract function. There is no body to execute, just the metadata
-
-
Method Details
-
of
-
getName
Get the name of the function. -
getArguments
We return nothing here since the methos handle isn't resolved yet so we don't know what overloaded args we may have. We will resolve this when we actually call the method- Specified by:
getArgumentsin classFunction- Returns:
- array of arguments
-
getReturnType
We don't actually know the return type of the method until we call it- Specified by:
getReturnTypein classFunction- Returns:
- return type
-
getAnnotations
Get any annotations declared for this function, both the @annotation syntax and inline.- Specified by:
getAnnotationsin classFunction- Returns:
- function metadata
-
getDocumentation
Get the contents of the documentation comment for this function.- Specified by:
getDocumentationin classFunction- Returns:
- function metadata
-
getAccess
Get access modifier of the function -
_invoke
Implement this method to invoke the actual function logic -
getRunnableCompileVersion
public long getRunnableCompileVersion()Get the version of the BoxLang runtime- Specified by:
getRunnableCompileVersionin interfaceIBoxRunnable- Specified by:
getRunnableCompileVersionin classFunction
-
getRunnableCompiledOn
Get the date the template was compiled- Specified by:
getRunnableCompiledOnin interfaceIBoxRunnable- Specified by:
getRunnableCompiledOnin classFunction
-
getRunnableAST
The AST (abstract syntax tree) of the runnable- Specified by:
getRunnableASTin interfaceIBoxRunnable- Specified by:
getRunnableASTin classFunction
-
getImports
Description copied from interface:IBoxRunnableThe imports for this runnable -
getRunnablePath
Description copied from interface:IBoxRunnableThe path to the template -
getSourceType
Description copied from interface:IBoxRunnableThe original source type -
requiresStrictArguments
public boolean requiresStrictArguments()True if the function requires strict arguments (basically a java method) or false if this is a Boxlang method which can accept additional arbitrary arguments- Overrides:
requiresStrictArgumentsin classFunction- Returns:
- true if strict arguments are required
-
canOutput
If we are wrapping a BIF that outputs something, don't block it
-