at:tutorial:symbiosis
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
at:tutorial:symbiosis [2007/04/06 14:34] – jdedecker | at:tutorial:symbiosis [2007/06/19 10:22] – jdedecker | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Symbiosis with Java ====== | ||
- | |||
< | < | ||
+ | |||
+ | ====== 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. | 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. | ||
Line 10: | Line 10: | ||
===== Accessing Java classes ===== | ===== 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 Java objects ===== | ||
+ | Java classes can be instantiated in AmbientTalk similar to how AmbientTalk objects are instantiated, | ||
+ | the Java constructor. For example, in the snippet code below **new** method is invoked on the class **Vector**. | ||
+ | |||
+ | < | ||
+ | >def aVector := Vector.new() | ||
+ | >>< | ||
+ | </ | ||
+ | |||
+ | All constructors defined in the corresponding Java class can be accessed too. For example, | ||
+ | |||
+ | < | ||
+ | >aVector := Vector.new(30) | ||
+ | >>< | ||
+ | </ | ||
+ | |||
+ | ===== Invoking methods on Java objects ===== | ||
+ | In a similar fashion to calling constructors on Java classes we can also call other methods defined in the Java class. | ||
+ | |||
+ | < | ||
+ | >1.to: 10 do: { |i| aVector.add(i) } | ||
+ | >>nil | ||
+ | >aVector | ||
+ | >>< | ||
+ | </ | ||
- | ===== Using Java wrappers ===== | ||
===== Overloading ===== | ===== Overloading ===== | ||
+ | |||
+ | ===== Concurrency ===== | ||
+ | |||
+ | ===== Distribution ===== | ||
+ | |||
+ | ===== Using Java wrappers ===== | ||
===== Symbionts ===== | ===== Symbionts ===== |
at/tutorial/symbiosis.txt · Last modified: 2013/05/17 20:25 by tvcutsem