Можно использовать метод закрытия, MYGLOBALS является объектом, который имеет функцию, вызванную getValue против "globals" ассоциативного массива, который является вне объема для всего кроме экземпляра MYGLOBALS.
var MYGLOBALS = function() {
var globals = {
foo : "bar",
batz : "blah"
}
return { getValue : function(s) {
return globals[s];
}
}
}();
alert(MYGLOBALS.getValue("foo")); // returns "bar"
alert(MYGLOBALS.getValue("notthere")); // returns undefined
MYGLOBALS.globals["batz"] = 'hardeehar'; // this will throw an exception as it should
Возможно, это не тот ответ, который вы хотели бы услышать, но я бы сосредоточился на том, чтобы освоиться с Groovy, а не пытаться преобразовать код в Java. В Groovy вы можете сделать много вещей, которые просто не будут хорошо переводиться на Java (например, замыкания ). Любое автоматическое преобразование в Java сделает код менее читабельным и сложным для понимания.
Если вас не убеждают придерживаться Groovy, и вы ДОЛЖНЫ перейти на Java, лучшим вариантом будет сделать это вручную.
для тех, у кого есть подобный вопрос, вы можете взглянуть на GMavenPlus