package php.runtime.ext;
import php.runtime.env.CompileScope;
import php.runtime.env.Context;
import php.runtime.env.Environment;
import php.runtime.env.handler.EntityFetchHandler;
import php.runtime.ext.java.*;
import php.runtime.ext.support.Extension;
import php.runtime.lang.BaseObject;
import php.runtime.reflection.ClassEntity;
public class JavaExtension extends Extension {
@Override
public String getName() {
return "Java";
}
@Override
public Status getStatus() {
return Status.EXPERIMENTAL;
}
@Override
public void onRegister(CompileScope scope) {
registerFunctions(new JavaFunctions());
registerClass(scope, JavaException.class);
registerClass(scope, JavaReflection.class);
registerClass(scope, JavaObject.class);
registerClass(scope, JavaClass.class);
registerClass(scope, JavaMethod.class);
registerClass(scope, JavaField.class);
/*scope.addClassEntityFetchHandler(new EntityFetchHandler() {
@Override
public void fetch(CompileScope scope, String originName, String name) {
ClassEntity entity = new ClassEntity((Context) null);
entity.setNativeClazz(JavaObject.class);
}
});*/
}
public static class JavaObject extends BaseObject {
public JavaObject(Environment env, ClassEntity clazz) {
super(env, clazz);
}
}
}