org.optaplanner.core.impl.score.stream.drools.uni

## Class DroolsUniRuleStructure<A>

- java.lang.Object
- - org.optaplanner.core.impl.score.stream.drools.common.DroolsRuleStructure
  - - org.optaplanner.core.impl.score.stream.drools.uni.DroolsUniRuleStructure<A>

-     public class DroolsUniRuleStructure<A>
      extends DroolsRuleStructure

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DroolsUniRuleStructure(Class<A> aClass, LongSupplier varialeIdSupplier)`
    `DroolsUniRuleStructure(org.drools.model.Variable<A> aVariable, DroolsPatternBuilder<?> aPattern, List<org.drools.model.RuleItemBuilder<?>> supportingRuleItems, LongSupplier variableIdSupplier)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.drools.model.Variable<A>` | `getA()`
    `DroolsPatternBuilder<Object>` | `getPrimaryPattern()` Returns the pattern that the subsequent streams may further expand.
    `List<org.drools.model.RuleItemBuilder<?>>` | `getSupportingRuleItems()` Every other pattern necessary for the `DroolsRuleStructure.getPrimaryPattern()` to function properly within the Drools rule's left-hand side.

    - ### Methods inherited from class org.optaplanner.core.impl.score.stream.drools.common.DroolsRuleStructure

      `createVariable, createVariable, createVariable, createVariable, getVariableIdSupplier, rebuildSupportingRuleItems`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DroolsUniRuleStructure

          public DroolsUniRuleStructure(org.drools.model.Variable<A> aVariable,
                                        DroolsPatternBuilder<?> aPattern,
                                        List<org.drools.model.RuleItemBuilder<?>> supportingRuleItems,
                                        LongSupplier variableIdSupplier)

    - #### DroolsUniRuleStructure

          public DroolsUniRuleStructure(Class<A> aClass,
                                        LongSupplier varialeIdSupplier)

  - ### Method Detail

    - #### getA

          public org.drools.model.Variable<A> getA()

    - #### getPrimaryPattern

          public DroolsPatternBuilder<Object> getPrimaryPattern()

      Description copied from class: `DroolsRuleStructure`
      Returns the pattern that the subsequent streams may further expand. Consider the following left-hand side of a Drools rule:

               $a1: A()
               $a2: A(this != $a1)

      The primary pattern would be the latter one ($a2), as that is the pattern you would use to further expand your output in both $a1 and $a2.
      Specified by:
        `getPrimaryPattern` in class `DroolsRuleStructure`
      Returns:
        the primary pattern as defined

    - #### getSupportingRuleItems

          public List<org.drools.model.RuleItemBuilder<?>> getSupportingRuleItems()

      Description copied from class: `DroolsRuleStructure`
      Every other pattern necessary for the `DroolsRuleStructure.getPrimaryPattern()` to function properly within the Drools rule's left-hand side. In the example rule (see `DroolsRuleStructure.getPrimaryPattern()`, this method would return one and only supporting `RuleItemBuilder`, the one representing $a1.
      Specified by:
        `getSupportingRuleItems` in class `DroolsRuleStructure`
      Returns:
        all supporting rule items as defined, in the correct order

Copyright © 2006–2019 JBoss by Red Hat. All rights reserved.