From: <jbo...@li...> - 2006-05-02 01:31:15
|
Author: mic...@jb... Date: 2006-05-01 21:31:07 -0400 (Mon, 01 May 2006) New Revision: 4027 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Rule.xml labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.png labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.svg Log: JBRULES-227 Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Rule.xml =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Rule.xml 2006-05-02 00:56:59 UTC (rev 4026) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/Section-Rule.xml 2006-05-02 01:31:07 UTC (rev 4027) @@ -80,20 +80,20 @@ is executed when the rule fires.</para> <para>There are a few convenience methods you can use to modify working - memory: </para> + memory:</para> <para>"modify(obj);" will tell the engine that an object has changed (one that has been bound to something on the LHS) and rules may need to be - reconsidered. </para> + reconsidered.</para> <para>"assert(new Something());" will place a new object of your creation - in working memory. </para> + in working memory.</para> <para>"assertLogical(new Something());" is similar to assert, but the object will be automatically retracted when there are no more facts to - support the truth of the currently firing rule. </para> + support the truth of the currently firing rule.</para> - <para>"retract(obj);" removes an object from working memory. </para> + <para>"retract(obj);" removes an object from working memory.</para> <para>These convenience methods are basically macros that provide short cuts to the KnowldgeHelper instance (refer to the KnowledgeHelper @@ -300,8 +300,8 @@ </indexterm>Field Constraints. Valid operators are dependent on the field type. Generally they are self explanatory based on the type of data: for instance, for date fields, "<" means "before" and so on. - "Matches" is only applicable to string fields, and "contains" is only - applicable to Collection type fields.</para> + "Matches" is only applicable to string fields, "contains" and + "excludes" is only applicable to Collection type fields.</para> </section> <section> @@ -486,7 +486,7 @@ <para><literal>'contains' </literal>is a special operator that can be used to check if a field's <indexterm> <primary>Collection</primary> - </indexterm>Collection contains a String literal.</para> + </indexterm>Collection contains an object.</para> <example> <title>Literal Cosntraints with Collections</title> @@ -494,6 +494,21 @@ <programlisting>CheeseCounter( cheeses contains "stilton" )</programlisting> </example> </simplesect> + + <simplesect> + <title>Excludes Operator</title> + + <para><literal>'excludes' </literal>is a special operator that can + be used to check if a field's <indexterm> + <primary>Collection</primary> + </indexterm>Collection does not contains an object.</para> + + <example> + <title>Literal Cosntraints with Collections</title> + + <programlisting>CheeseCounter( cheeses excludes "cheddar" )</programlisting> + </example> + </simplesect> </section> <section> Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.png =================================================================== (Binary files differ) Modified: labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.svg =================================================================== --- labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.svg 2006-05-02 00:56:59 UTC (rev 4026) +++ labs/jbossrules/trunk/documentation/manual/en/Chapter-Rule_Language/operator.svg 2006-05-02 01:31:07 UTC (rev 4027) @@ -1,18 +1,17 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> <!-- Generated by Microsoft Visio 11.0, SVG Export, v1.0 operator.svg Page-1 --> -<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.49458in" - height="0.244444in" viewBox="0 0 251.61 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st6"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="3.49457in" + height="0.188644in" viewBox="0 0 251.609 13.5824" xml:space="preserve" color-interpolation-filters="sRGB" class="st5"> <v:documentProperties v:langID="1033" v:metric="true" v:viewMarkup="false"/> <style type="text/css"> <![CDATA[ .st1 {fill:#e8eef7;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24} - .st2 {fill:#000000;font-family:Arial;font-size:0.666664em} - .st3 {font-size:1em} - .st4 {marker-end:url(#mrkr2-17);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24} - .st5 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.08695652173913} - .st6 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} + .st2 {fill:#000000;font-family:Arial;font-size:0.583328em} + .st3 {marker-end:url(#mrkr2-13);stroke:#4677bf;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.24} + .st4 {fill:#4677bf;fill-opacity:1;stroke:#4677bf;stroke-opacity:1;stroke-width:0.086956377384407} + .st5 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3} ]]> </style> @@ -20,26 +19,25 @@ <g id="lend2"> <path d="M 1 1 L 0 0 L 1 -1 L 1 1 " style="stroke:none"/> </g> - <marker id="mrkr2-17" class="st5" v:arrowType="2" v:arrowSize="2" v:setback="11.5" refX="-11.5" orient="auto" + <marker id="mrkr2-13" class="st4" v:arrowType="2" v:arrowSize="2" v:setback="0" refX="-0" orient="auto" markerUnits="strokeWidth"> - <use xlink:href="#lend2" transform="scale(-11.5,-11.5) "/> + <use xlink:href="#lend2" transform="scale(-11.500019090944,-11.500019090944) "/> </marker> </defs> <g v:mID="0" v:index="1" v:groupContext="foregroundPage"> <title>Page-1</title> - <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50394" - v:shadowOffsetY="-8.50394"/> + <v:pageProperties v:drawingScale="0.0393701" v:pageScale="0.0393701" v:drawingUnits="24" v:shadowOffsetX="8.50392" + v:shadowOffsetY="-8.50392"/> <v:layer v:name="Connector" v:index="0"/> <v:layer v:name="Flowchart" v:index="1"/> - <g id="shape68-1" v:mID="68" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24,-3.06772)"> + <g id="shape1-1" v:mID="1" v:groupContext="shape" v:layerMember="0;1" transform="translate(0.24228,-0.894998)"> <title>On-page reference.210</title> <v:userDefs> <v:ud v:nameU="visVersion" v:val="VT0(11):26"/> </v:userDefs> - <v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/> - <path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/> + <path d="M0 7.69 A5.73227 5.73227 0 0 1 11.46 7.69 A5.73227 5.73227 0 1 1 0 7.69 Z" class="st1"/> </g> - <g id="shape69-3" v:mID="69" v:groupContext="shape" v:layerMember="1" transform="translate(31.7864,-2.24882)"> + <g id="shape2-3" v:mID="2" v:groupContext="shape" v:layerMember="1" transform="translate(22.6793,-0.24)"> <title>Process.211</title> <desc>'<' | '<=' | '>' | '>=' | '==' | '!=' | ‘matches’ | ‘contains’</desc> <v:custProps> @@ -50,27 +48,25 @@ <v:userDefs> <v:ud v:nameU="visVersion" v:val="VT0(11):26"/> </v:userDefs> - <v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/> - <v:textRect cx="91.3035" cy="11.0488" width="182.61" height="13.1024"/> - <rect x="0" y="4.49764" width="182.607" height="13.1024" rx="2.83465" ry="2.83465" class="st1"/> - <text x="3.6" y="13.45" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>'<' | '<=' | '>' | '>=' | '==' | '!='<tspan - class="st3" v:langID="2057"> | </tspan><tspan class="st3" v:langID="2057">‘matches’ </tspan><tspan - class="st3" v:langID="2057">| </tspan><tspan class="st3" v:langID="2057">‘contains’</tspan></text> </g> - <g id="shape70-10" v:mID="70" v:groupContext="shape" v:layerMember="0;1" transform="translate(239.905,-3.06772)"> + <v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5196"/> + <v:textRect cx="97.7952" cy="7.03115" width="195.6" height="13.1024"/> + <path d="M0 10.75 A3.03627 2.83471 -180 0 0 3.04 13.58 L192.55 13.58 A3.03627 2.83471 -180 0 0 195.59 10.75 L195.59 3.31 + A3.03627 2.83471 -180 0 0 192.55 0.48 L3.04 0.48 A3.03627 2.83471 -180 0 0 -0 3.31 L0 10.75 Z" class="st1"/> + <text x="2.84" y="9.13" class="st2" v:langID="1033"><v:paragraph v:horizAlign="1"/><v:tabList/>'<' | '<=' | '>' | '>=' | '==' | '!=' | ‘matches’ | ‘contains’ | ‘excludes’</text> </g> + <g id="shape3-6" v:mID="3" v:groupContext="shape" v:layerMember="0;1" transform="translate(239.907,-0.894998)"> <title>On-page reference.212</title> <v:userDefs> <v:ud v:nameU="visVersion" v:val="VT0(11):26"/> </v:userDefs> - <v:textBlock v:margins="rect(2,2,2,2)" v:tabSpace="42.5197"/> - <path d="M0 11.87 A5.73228 5.73228 0 0 1 11.46 11.87 A5.73228 5.73228 0 1 1 0 11.87 Z" class="st1"/> + <path d="M0 7.69 A5.73227 5.73227 0 0 1 11.46 7.69 A5.73227 5.73227 0 1 1 0 7.69 Z" class="st1"/> </g> - <g id="shape71-12" v:mID="71" v:groupContext="shape" v:layerMember="0" transform="translate(11.7046,-1.71339)"> + <g id="shape4-8" v:mID="4" v:groupContext="shape" v:layerMember="0" transform="translate(11.7069,-6.7946)"> <title>Dynamic connector.213</title> - <path d="M0 10.51 L17.32 10.51" class="st4"/> + <path d="M0 13.58 L9.46 13.58 L10.97 13.58" class="st3"/> </g> - <g id="shape72-18" v:mID="72" v:groupContext="shape" v:layerMember="0" transform="translate(214.393,-1.71339)"> + <g id="shape5-14" v:mID="5" v:groupContext="shape" v:layerMember="0" transform="translate(218.27,-6.7946)"> <title>Dynamic connector.214</title> - <path d="M0 10.51 L22.75 10.51" class="st4"/> + <path d="M0 13.58 L19.29 13.58 L21.63 13.58" class="st3"/> </g> </g> </svg> |