Is there a way to create a Java class with ABCL (that extends another class)?
Can you write a Java class with ABCL?
1.3k Views Asked by compman At
2
There are 2 best solutions below
Related Questions in JAVA
- Add image to JCheckBoxMenuItem
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Inheritance in Java, apparent type vs actual type
- Java catch the ball Game
- Access objects variable & method by name
- GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
- Perform a task each interval
- Compound classes stored in an array are not accessible in selenium java
- How to avoid concurrent access to a resource?
- Why does processing goes slower on implementing try catch block in java?
- Redirect inside java interceptor
- Push toolbar content below statusbar
- Animation in Java on top of JPanel
- JPA - How to query with a LIKE operator in combination with an AttributeConverter
- Java Assign a Value to an array cell
Related Questions in JVM
- JVM is functioning very differently with same flags
- Heap size issue on migrating from Solr 5.0.0 to Solr 5.1.0
- Can't open eclipse with Windows 7 (doesn't see jdk jde)
- Can I import java libraries in HP ALM without Microsoft Java Virtual Machine?
- resin project, jdk8 has a high cpu load ,but jdk7 not
- Using multiple JVM languages in the same project
- Practical case JVM tunning to avoid full GC
- why does buckminster not resolve my passed JVM argument?
- Where to patch back the information gathered during program analysis
- Java 8 , JCE Unlimited Strength Policy and SSL Handshake over TLS
- Does the JVM limit the number of threads an Executor can run?
- With Swift open sourced, what would it take to have it running on the JVM?
- JVM ClassUnloadingWithConcurrentMark flag
- Ruby RJB can't create Java VM error
- Exposing whether an application is undergoing GC via UDP
Related Questions in COMMON-LISP
- EMACS-Live + Slime error at startup
- Local dynamic binding in common lisp
- Running compiled lisp program with clisp-2.49 on OS X
- What does the non-terminating-p argument of set-macro-character do?
- Updating the window in response to CLIM frame commands
- What is a common-lisp analogue of python's argparse?
- Anonymous methods in common lisp
- Read next line when loading file in Common Lisp
- Calling CCL + Quicklisp script as executable with command line arguments and achieving the desired output
- Jump to function definition in Emacs by mouse-click
- Avoiding echos in Clozure lisp (noob)
- where is the text printed by C printf
- Backquote String Interpolation
- Structuring large Lisp applications
- If strings are vectors, why are they immutable?
Related Questions in ABCL
- How to get the values in ABCL using Java
- What does `:build-operation "program-op"` do for ABCL?
- ABCL - error trying to add component to JPanel - add not found
- In ABCL (Armed Bear) LISP how do I create a background sub-process / background threads?
- Quicklisp's file setup.lisp does not load correctly
- Can you write a Java class with ABCL?
- ABCL compilation and primitives
- Lisp function returns NIL when used in a menu function but otherwise works
- Run an ABCL code that uses cl-cppre
- calling freeling Java API from ABCL
- Trouble with armed bear common lisp--calling user defined classes from repl?
- In Allegro CL and ABCL, can I construct a struct given only its type name?
- Can ABCL's Interpreter load Lisp source from an InputStream?
- Why can't tail calls be optimized in JVM-based Lisps?
- How to run Armed Bear Common Lisp in Eclipse?
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)
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?
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