Is there a way to create a Java class with ABCL (that extends another class)?
Related Questions in JAVA
- How to search for a DOM element in the Elements panel & highlight it in web page in Chrome dev tools?
- detect requests calls in a url similar to network in chrome dev tools
- Is HTML5 drag and drop compatible with Chrome Apps (packaged)?
- what does "frames with intermittent jank" means in Chrome DevTools docs?
- How to open Chrome Developer Tools in a Chrome App
- Can't find out how button click event got wired
- Chrome Developer Tools shows favicon 404 error in Brackets LivePreview
- Is new line a separator in Javascript
- How to load saved .cpuprofile file in Chrome developer tools CPU profile?
- What’s the quickest, easiest way to execute a JavaScript file on a live web page?
Related Questions in JVM
- How to search for a DOM element in the Elements panel & highlight it in web page in Chrome dev tools?
- detect requests calls in a url similar to network in chrome dev tools
- Is HTML5 drag and drop compatible with Chrome Apps (packaged)?
- what does "frames with intermittent jank" means in Chrome DevTools docs?
- How to open Chrome Developer Tools in a Chrome App
- Can't find out how button click event got wired
- Chrome Developer Tools shows favicon 404 error in Brackets LivePreview
- Is new line a separator in Javascript
- How to load saved .cpuprofile file in Chrome developer tools CPU profile?
- What’s the quickest, easiest way to execute a JavaScript file on a live web page?
Related Questions in COMMON-LISP
- How to search for a DOM element in the Elements panel & highlight it in web page in Chrome dev tools?
- detect requests calls in a url similar to network in chrome dev tools
- Is HTML5 drag and drop compatible with Chrome Apps (packaged)?
- what does "frames with intermittent jank" means in Chrome DevTools docs?
- How to open Chrome Developer Tools in a Chrome App
- Can't find out how button click event got wired
- Chrome Developer Tools shows favicon 404 error in Brackets LivePreview
- Is new line a separator in Javascript
- How to load saved .cpuprofile file in Chrome developer tools CPU profile?
- What’s the quickest, easiest way to execute a JavaScript file on a live web page?
Related Questions in ABCL
- How to search for a DOM element in the Elements panel & highlight it in web page in Chrome dev tools?
- detect requests calls in a url similar to network in chrome dev tools
- Is HTML5 drag and drop compatible with Chrome Apps (packaged)?
- what does "frames with intermittent jank" means in Chrome DevTools docs?
- How to open Chrome Developer Tools in a Chrome App
- Can't find out how button click event got wired
- Chrome Developer Tools shows favicon 404 error in Brackets LivePreview
- Is new line a separator in Javascript
- How to load saved .cpuprofile file in Chrome developer tools CPU profile?
- What’s the quickest, easiest way to execute a JavaScript file on a live web page?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
One can write directly write a Java class as JVM bytecode via the functions in the JVM package which is the code that ABCL's own compiler uses. As of abcl-0.25.0, there is unsupported code for a JAVA:JNEW-RUNTIME-CLASS method which allows one to dynamically write a Java class that calls Lisp methods for execution. The code uses classes from the ObjectWeb ASM BCEL which must be present in the JVM classpath. Exactly which version of the ASM BCEL library is needed, and whether it works with the current ABCL is untested. ABCL issue #153 tracks the work necessary to support this in the contemporary ABCL implementation.
But if one has an existing Java interface for which one would like to use Lisp based methods to provide an implementation, the process is considerably simpler (and supported!)
The relevant function is JAVA:JINTERFACE-IMPLEMENTATION whose use is demonstrated in the BankAccount example.
For the Java interface defined as
The following Lisp code creates a usable Java Proxy in the current JVM:
To get a reference to this implementation from Java, one uses the code in BankMainAccount.java