This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
at:tutorial:symbiosis [2007/04/06 16:00] jdedecker |
at:tutorial:symbiosis [2013/05/17 20:25] tvcutsem updated |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | < | ||
- | ====== Symbiosis with Java ====== | ||
- | |||
- | AmbientTalk is fully implemented in Java and runs on top of the JVM. Java provides an extensive class library that can be accessed from within AmbientTalk. | ||
- | |||
- | The reverse, namely that AmbientTalk objects can accessed from within Java is also possible. | ||
- | |||
- | This chapter explains how both sides of this symbiotic relationship between Java and AmbientTalk can be leveraged. The goal of this symbiotic relationship is to complement the advantages of both languages and to alleviate their disadvantages. | ||
- | |||
- | ===== Accessing Java classes ===== | ||
- | The complete set of classes that are available in the class path of a running JVM are accessible from AmbientTalk through the jlobby object. | ||
- | |||
- | < | ||
- | >def Vector := jlobby.java.util.Vector | ||
- | >>< | ||
- | </ | ||
- | |||
- | ===== Creating Java objects ===== | ||
- | Creating a new instance of the Vector class is done by invoking the method new on the class object. | ||
- | |||
- | < | ||
- | >def aVector := Vector.new() | ||
- | >>< | ||
- | </ | ||
- | |||
- | ===== Using Java wrappers ===== | ||
- | |||
- | ===== Overloading ===== | ||
- | |||
- | ===== Symbionts ===== | ||
- | |||
- | ===== Conversions ===== | ||
- | |||
- | ===== Thread-Actor Symbiosis ===== |