-
Language:
English
-
Language:
English
14.16. Stringing DSL Transformation Functions
Table 14.6. Stringing DSL Transformation Functions
Name | Description | Example |
---|---|---|
.dsl |
A file containing a DSL definition is customarily given the extension
.dsl . It is passed to the Knowledge Builder with ResourceType.DSL . For a file using DSL definition, the extension .dslr should be used. The Knowledge Builder expects ResourceType.DSLR . The IDE, however, relies on file extensions to correctly recognize and work with your rules file.
|
# definitions for conditions [when][]There is an? {entity}=${entity!lc}: {entity!ucfirst}() [when][]- with an? {attr} greater than {amount}={attr} <= {amount!num} [when][]- with a {what} {attr}={attr} {what!positive?>0/negative?%lt;0/zero?==0/ERROR} |
DSL passing |
The DSL must be passed to the Knowledge Builder ahead of any rules file using the DSL.
For parsing and expanding a DSLR file the DSL configuration is read and supplied to the parser. Thus, the parser can "recognize" the DSL expressions and transform them into native rule language expressions.
|
KnowledgeBuilder kBuilder = new KnowledgeBuilder(); Resource dsl = ResourceFactory.newClassPathResource( dslPath, getClass() ); kBuilder.add( dsl, ResourceType.DSL ); Resource dslr = ResourceFactory.newClassPathResource( dslrPath, getClass() ); kBuilder.add( dslr, ResourceType.DSLR ); |