Hi Jeremie,
On Feb 1, 2010, at 10:11 AM, Jeremie BOUSQUET wrote:
Hi all,
I use method parseGroovyFromPage() to instantiate an object from a Groovy
class stored in a page.
It works well, but now I would like to forbid multiple executions of this
class. To do so, I changed it to be a singleton, setting the constructor as
private.
Of course, now, parseGroovyFromPage() returns that the object can't be
instantiated ... As the call to the constructor is inside this method, I
can't change it to just call getInstance().
Are there any workarounds, or other ways to achieve this ?
Why do you need to use this method?
With XWiki Syntax 2.0 we now have the ability to do:
{{include document="groovypage"/}}
where groovypage is a page using the {{groovy}} macro to define groovy code.
If you want to forbid several executions of the {{groovy}} script you could use an if()
inside it and check if a value is present in the session or application context (depending
if you want it called once per user or per application).
Thanks
-Vincent