在Rhino JavaScript引擎中公开Java Enums

时间:2014-04-21 22:02:22

标签: java javascript scripting enums rhino

我正在编写一个包含Rhino Scripting Engine的程序。我想透露几个程序的枚举,但如果它甚至可能,我无法弄清楚如何做到这一点。有没有办法在脚本中使用java枚举?

1 个答案:

答案 0 :(得分:1)

你的意思是从脚本中使用java Enum,它将由Rhino转换为Java吗?如果是这种情况,您可以执行以下操作:

  • 给定一个带枚举的java类:

    package com.stackoverflow.example;
    public class Order {
    
        private String field;
        private By by;
    
        public enum By {
            ASC, DESC
        }
    
        public Order(String field, By by) {
            this.field = field;
            this.by = by;
        }
    }
    
  • 在剧本中你可以做到

    // Importing class with enum
    importClass(Packages.com.stackoverflow.example.Order);
    
    // Instancing a new Order object using the existing enum in the Order class
    var order = new Order("db_field", Order.By.DESC);
    

我希望它有所帮助。