Hi!
I actually posted my question in the
clamp “thread” but I guess opening a new thread would potentially make
more people answering J
Below, you will find the reply from Charlie
groves and below that my questions follows. I’d appreciate, if you have an
answer or any helpful comment.
> Actually, clamp isn't needed for
your use case. Clamp lets you put
> decorators on python classes to
turn them into something callable from
> Java. If you're just trying to
extend a Java class, you just need the
> ability to statically compile and
name those proxies. Clamp needed
> that as well, which is why the two
keep getting conflated.
>
> Well, the majority of the work is
already available in the
> customizable-proxymaker branch in
the jython repository. That already
> contains the static compilation you
need.
> The major work remaining there for
> your use case is a) adding a tool
to take advantage of the static
> proxy compilation and b) using that
to visit all the classes in the
> standard lib that need it and make
static proxies for them.
Ah, Ok...I have a vague idea of what I
could do. But still, despite the fact that it's not completed yet, would't it
be easier for me to use clamp by adding annotations to the python code than to
write new tools to statically change the class proxies.
However, I checked out the code from the
branch and I compiled it. But what now? :) I know, to answer such a question
would be very time-consuming for you and you already drew a rough sketch. But I
am currently sitting in front of huge stack of source files and don't know
where to start. I would need some kind of entry point ;) Here are some questions
that fly around in my head:
1.) At first, to fulfill a) can I use
the resulting jython.jar file from that customizable-proxymaker branch build
and create an external app? Or do I have to somehow "hook" into the
existing code? If yes, how would I trigger that? By using compileall? What if I
don't want to expose all methods?
2.) I think I need to understand the
code structure and hierarchy of jython/proxymaker i.e. "what does what and
when does it 'that'?" To do that, could you please tell me which class is
the main entry point for the proxymaker? I saw that you modified some classes
in the org.python.exposed package but couldn't identify a main class from which
I could start studying...
Thanks in advance!
Jan