Java™ オブジェクトのメソッドを呼び出すには、次の 2 つの方法があります。
Dim mySession As JavaSession
Dim myClass As JavaClass
Dim myObject As JavaObject
Set mySession = new JavaSession
Set myClass = mySession.getClass("myjavaapp")
Set myObject = myClass.CreateObject()
Call myObject.myMethod(arg1, arg2)
Dim mySession As JavaSession
Dim myClass As JavaClass
Dim myObject As JavaObject
Dim myMethod as JavaMethod
Set mySession = new JavaSession
Set myClass = mySession.getClass("myjavaapp")
Set myMethod = myClass.getMethod("MyMethod", "()V")
Set myObject = myClass.CreateObject()
myMethod.Invoke(myObject);
ドット表記法のメソッドは、より簡単で直感的ですが、制限事項があります。JavaMethod ADT メソッドは使い方が非常に難しいものですが、一般的な使用にはより適しています。ドット表記法は、次にリストされている状態が 1 つでも発生すると、あいまいになります。そのような状態が発生した場合は、より一般的な方法を使用してあいまいさをなくすことができます。
Java で大文字と小文字が区別されている場合は、LotusScript® でも大文字と小文字が区別されます。理論上は、大文字と小文字が異なるだけの Java メソッドを 2 つ持てますが (MyMethod と mymethod など)、この 2 つはまったく異なるメソッドです。LotusScript では、正しいメソッドを識別し、ドット表記法を使用して呼び出す方法はありません。関数にアクセスしようとすると、結果は JVM 依存になり、使用しているオペレーティングシステムによって結果が異なります。
LotusScript では、名前は 40 文字以内という内部的な制限があります。ドット表記メソッドを使用する場合、40 文字より長い名前でメソッドを取得することはできません。
現在、LotusScript はメソッドの多重定義をサポートしていません。Java はサポートしているので、Java クラスに同じ名前で署名の異なるメソッドを含めるのはごく普通のことです。ドット表記法を使用している場合、LotusScript ではトライアンドエラーでメソッドを一致させます。メソッドの一致は幾分 JVM 依存です。これは、一致するメソッドは、JNI を介して JVM を使用し、LotusScript にメソッドが提示された順序によって異なるからです。次のアルゴリズムを使用して、メソッドを一致させます。
LS2J は、最初に一致した Java メソッドに対して呼び出しを行います。
ほとんどの Java 実装では、Java のソースファイルで宣言された順にメソッドが列挙されます。ただし、常にそうなるわけではありません。例えば、AIX® JVM はこれとは反対の順序でメソッドを列挙します。