|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.vub.at.objects.natives.NATNil
edu.vub.at.objects.natives.NATByRef
edu.vub.at.objects.mirrors.NativeMethod
A NativeMethod is a wrapper around a Java method allowing it to be selected from native base-level objects and passed around as an ordinary object.
Field Summary | |
private java.lang.reflect.Method |
javaMethod_
|
private ATSymbol |
name_
|
Fields inherited from class edu.vub.at.objects.natives.NATNil |
_INSTANCE_ |
Constructor Summary | |
NativeMethod(java.lang.reflect.Method javaMethod,
ATSymbol name)
Construct a new wrapper object from a Java method. |
Method Summary | |
ATObject |
base_apply(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATObject |
base_applyInScope(ATTable arguments,
ATContext ctx)
Applies the method to the given arguments in the given context. |
ATMethod |
base_asMethod()
|
ATBegin |
base_getBodyExpression()
Structural access to the body of the method. |
ATSymbol |
base_getName()
The name of a wrapped Java method is the name of the Java method, converted to an AmbientTalk selector name. |
ATTable |
base_getParameters()
The parameters of a wrapped method are represented as symbols representing the class name of the parameter type. |
boolean |
base_isMethod()
|
ATTable |
meta_getStripes()
Returns the stripes of this object. |
NATText |
meta_print()
Prints out the object in a human-readable way. |
Methods inherited from class edu.vub.at.objects.natives.NATByRef |
meta_pass, meta_resolve |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface edu.vub.at.objects.ATObject |
base__opeql__opeql_, base_init, base_new, meta_addField, meta_addMethod, meta_assignField, meta_assignVariable, meta_clone, meta_defineField, meta_doesNotUnderstand, meta_eval, meta_extend, meta_getDynamicParent, meta_getLexicalParent, meta_grabField, meta_grabMethod, meta_invoke, meta_isCloneOf, meta_isRelatedTo, meta_isStripedWith, meta_listFields, meta_listMethods, meta_lookup, meta_newInstance, meta_pass, meta_quote, meta_receive, meta_resolve, meta_respondsTo, meta_select, meta_send, meta_share |
Field Detail |
private final java.lang.reflect.Method javaMethod_
private final ATSymbol name_
Constructor Detail |
public NativeMethod(java.lang.reflect.Method javaMethod, ATSymbol name)
javaMethod
- the java method to be wrapped.Method Detail |
public ATSymbol base_getName() throws InterpreterException
base_getName
in interface ATMethod
InterpreterException
public ATTable base_getParameters() throws InterpreterException
base_getParameters
in interface ATMethod
InterpreterException
public ATBegin base_getBodyExpression()
ATMethod
base_getBodyExpression
in interface ATMethod
public ATObject base_apply(ATTable arguments, ATContext ctx) throws InterpreterException
ATMethod
base_apply
in interface ATMethod
arguments
- the actual arguments, already eagerly evaluatedctx
- the context in which to evaluate the method body, call frame not yet inserted
InterpreterException
public ATObject base_applyInScope(ATTable arguments, ATContext ctx) throws InterpreterException
ATMethod
base_applyInScope
in interface ATMethod
arguments
- the actual arguments, already eagerly evaluatedctx
- the context in which to evaluate the method body, to be used without inserting a call frame
InterpreterException
public ATMethod base_asMethod() throws XTypeMismatch
base_asMethod
in interface ATConversions
base_asMethod
in class NATNil
XTypeMismatch
public boolean base_isMethod()
base_isMethod
in interface ATConversions
base_isMethod
in class NATNil
public NATText meta_print() throws InterpreterException
ATObject
meta_print
in interface ATObject
meta_print
in class NATNil
InterpreterException
public ATTable meta_getStripes() throws InterpreterException
ATObject
meta_getStripes
in interface ATObject
meta_getStripes
in class NATNil
InterpreterException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |