182


Tungsten ReplicatorのJavaScriptフィルタで、[OneRowChange](http://tungsten-
replicator.googlecode.com/svn/trunk/replicator/src/java/com/continuent/tungsten/replicator/dbms/OneRowChange.java)クラスの内部クラス、ColumnSpecをnewしようとしています。

ColumnSpecクラスはスタティックではないので、Javaなら `oneRowChange.new ColumnSpec()`
とするところですが、これをRhino経由でJavaScriptで記述するにはどうすればよいでしょうか。

今まで以下を試してみましたが、エラーになるばかりです。

[code]

    $ cat Outer.java
    public class Outer {
      public class Inner {
        public Inner() {
        }
      }
    }
    $ javac Outer.java
    $ java -cp /usr/local/Cellar/rhino/1.7R4/libexec/js.jar:. org.mozilla.javascript.tools.shell.Main
    Rhino 1.7 release 4 2012 06 18
    js> o = new Packages.Outer()
    Outer@12413ffc
    js> new o.Inner()
    js: uncaught JavaScript runtime exception: TypeError: org.mozilla.javascript.Undefined@675dd521 is not a function, it is undefined.
    
    js> new Packages.Outer.Inner()
    js: Java constructor for "Outer$Inner" with arguments "" not found.
    
    js> o.new Inner()
    js: "<stdin>", line 4: missing ; before statement
    js: o.new Inner()
    js: ...........^
    js: "<stdin>", line 4: Compilation produced 1 syntax errors.
    
[/code]


CC BY-SA 3.0
2014-11-21T16:30:02.623
178
2014-11-25T04:27:16.390
30
question
javascript tungsten-replicator java
Rhinoで内部クラスをnewしたい


これで通らないでしょうか。

[code]

    js> o = new Packages.Outer()
    Outer@1b7071b8
    js> new Packages.Outer.Inner(o)
    Outer$Inner@3996a317
    
[/code]


CC BY-SA 3.0
2014-11-25T04:27:16.390
182
2014-11-25T04:27:16.390
70
178
answer