Generator

ilog.rules.studio.res.generator

JRules 6.0

Allows plug-ins to declare a new generator for the New Client Project for RuleApps or Artifacts for RuleApps wizards.

<!ELEMENT extension (generator* | category* | primaryGenerator*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT generator EMPTY>

<!ATTLIST generator

name                   CDATA #REQUIRED

id                     CDATA #REQUIRED

description            CDATA #REQUIRED

enabled                (true | false)

class                  CDATA #REQUIRED

wizardClass            CDATA #IMPLIED

pageId                 CDATA #REQUIRED

creationWizardClass    CDATA #IMPLIED

creationWizardPlugin   CDATA #IMPLIED

completionWizardClass  CDATA #IMPLIED

completionWizardPlugin CDATA #IMPLIED

category               CDATA #IMPLIED>


<!ELEMENT category EMPTY>

<!ATTLIST category

id             CDATA #REQUIRED

name           CDATA #REQUIRED

parentCategory CDATA #IMPLIED

pageId         CDATA #REQUIRED>

since JRules 6.5



<!ELEMENT primaryGenerator EMPTY>

<!ATTLIST primaryGenerator

id     CDATA #REQUIRED

pageId CDATA #REQUIRED>

since JRules 6.5



The following examples show how to declare a generator which will appear in the 'Other' category.

<extension point=

"ilog.rules.studio.res.generator"

>

<generator class=

"ilog.rules.studio.res.generator.impl.IlrPOJOGenerator"

wizardClass=

"ilog.rules.studio.res.ui.generator.impl.IlrPOJOGeneratorWizard"

name=

"MyGenerator"

enabled=

"true"

description=

"Generate a java project with my own classes"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

id=

"myplugin.MyGenerator"

>

</generator>

</extension>

The following example show how to declare a generator which will appear in the 'My Category' category.

<extension point=

"ilog.rules.studio.res.generator"

>

<category id=

"mycategory"

name=

"My Category"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

/>

<generator class=

"ilog.rules.studio.res.generator.impl.IlrPOJOGenerator"

wizardClass=

"ilog.rules.studio.res.ui.generator.impl.IlrPOJOGeneratorWizard"

name=

"MyGenerator"

enabled=

"true"

description=

"Generate a java project with my own classes"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

id=

"myplugin.MyGenerator"

category=

"mycategory"

>

</generator>

</extension>

The following example show how to declare a generator which will appear in the 'My Sub Category' category in the 'My Category' category.

<extension point=

"ilog.rules.studio.res.generator"

>

<category id=

"mycategory"

name=

"My Category"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

/>

<category id=

"mysubcategory"

name=

"My Sub Category"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

parentCategory=

"mycategory"

/>

<generator class=

"ilog.rules.studio.res.generator.impl.IlrPOJOGenerator"

wizardClass=

"ilog.rules.studio.res.ui.generator.impl.IlrPOJOGeneratorWizard"

name=

"MyGenerator"

enabled=

"true"

description=

"Generate a java project with my own classes"

pageId=

"ilog.rules.studio.res.generator.generatorChooserPage"

id=

"myplugin.MyGenerator"

category=

"mycategory/mysubcategory"

>

</generator>

</extension>

If you want your generator to be visible outside the categories as a primary generator, add the following :

<extension point=

"ilog.rules.studio.res.generator"

>

...

<primaryGenerator id=

"myplugin.MyGenerator"

/>

...

</extension>

The class named in the class property must implement the ilog.rules.studio.res.generator.IlrFileGenerator interface.

The platform uses this mechanism to add a generator in the proposed list of generators in the New Client Project for RuleApp or Artifacts for RuleApps wizards.