在Rhino JavaScript引擎中公开Java枚举



我正在编写一个包含Rhino脚本引擎的程序。我想公开几个程序的枚举,但如果可能的话,我不知道该怎么做。有没有办法让java枚举在脚本中可用?

您的意思是使用脚本中的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);
    

我希望它能有所帮助。

最新更新