Package org.kie.internal.definition.rule

## Interface InternalRule

- All Superinterfaces:
    `org.kie.api.definition.KieDefinition`, `org.kie.api.definition.rule.Rule`

      public interface InternalRule
      extends org.kie.api.definition.rule.Rule

  Internal Rule interface for runtime rule inspection.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.kie.api.definition.KieDefinition

      `org.kie.api.definition.KieDefinition.KnowledgeType`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getActivationGroup()` | Returns the `activation-group` rule property.
    `java.lang.String` | `getAgendaGroup()` | Returns the `agenda-group` rule property.
    `boolean` | `getAutoFocus()` | Returns the `auto-focus` rule property.
    `java.util.Calendar` | `getDateEffective()` | Returns the `date-effective` rule property as a `Calendar`.
    `java.util.Calendar` | `getDateExpires()` | Returns the `date-expires` rule property as a `Calendar`.
    `java.lang.String` | `getDialect()` | Returns the dialect property of this rule.
    `java.lang.String` | `getFullyQualifiedName()` | Returns the fully qualified name of the rule (package + rule name)
    `org.kie.api.io.Resource` | `getResource()` | Returns the `Resource` of this rule.
    `java.lang.String` | `getRuleFlowGroup()` | Returns the `ruleflow-group` rule property.
    `int` | `getSalienceValue()` | Returns the value of the `salience` attribute.
    `boolean` | `isLockOnActive()` | Returns the `lock-on-active` rule property.
    `boolean` | `isMainAgendaGroup()` | Returns true if the rule is part of default agenda group.
    `boolean` | `isNoLoop()` | Returns the `no-loop` rule property.
    `boolean` | `isSalienceDynamic()` | Returns `true` if the rule uses dynamic salience, `false` otherwise.
    `boolean` | `isValid()` | Determine if this rule is internally consistent and valid.

    - ### Methods inherited from interface org.kie.api.definition.KieDefinition

      `getId, getKnowledgeType, getNamespace`

    - ### Methods inherited from interface org.kie.api.definition.rule.Rule

      `getLoadOrder, getMetaData, getName, getPackageName`

- - ### Method Detail

    - #### getResource

          org.kie.api.io.Resource getResource()

      Returns the `Resource` of this rule.
      Returns:
        the `Resource`.

    - #### getDialect

          java.lang.String getDialect()

      Returns the dialect property of this rule.
      Returns:
        the dialect.

    - #### isValid

          boolean isValid()

      Determine if this rule is internally consistent and valid. This will include checks to make sure the rules semantic components (actions and predicates) are valid. No exception is thrown.

      A `Rule` must include at least one parameter declaration and one condition.

      Returns:
        `true` if this rule is valid, else `false`.

    - #### getSalienceValue

          int getSalienceValue()

      Returns the value of the `salience` attribute.
      Returns:
        the `salience` property value.

    - #### isSalienceDynamic

          boolean isSalienceDynamic()

      Returns `true` if the rule uses dynamic salience, `false` otherwise.
      Returns:
        `true` if the rule uses dynamic salience, else `false`.

    - #### getAgendaGroup

          java.lang.String getAgendaGroup()

      Returns the `agenda-group` rule property.
      Returns:
        the `agenda-group` property value.

    - #### isNoLoop

          boolean isNoLoop()

      Returns the `no-loop` rule property.
      Returns:
        the `no-loop` property value.

    - #### getAutoFocus

          boolean getAutoFocus()

      Returns the `auto-focus` rule property.
      Returns:
        the `auto-focus` property value.

    - #### getActivationGroup

          java.lang.String getActivationGroup()

      Returns the `activation-group` rule property.
      Returns:
        the `activation-group` property value.

    - #### getRuleFlowGroup

          java.lang.String getRuleFlowGroup()

      Returns the `ruleflow-group` rule property.
      Returns:
        the `ruleflow-group` property value.

    - #### isLockOnActive

          boolean isLockOnActive()

      Returns the `lock-on-active` rule property.
      Returns:
        the `lock-on-active` property value.

    - #### getDateEffective

          java.util.Calendar getDateEffective()

      Returns the `date-effective` rule property as a `Calendar`.
      Returns:
        the `date-effective` property value.

    - #### getDateExpires

          java.util.Calendar getDateExpires()

      Returns the `date-expires` rule property as a `Calendar`.
      Returns:
        the `date-expires` property value.

    - #### getFullyQualifiedName

          java.lang.String getFullyQualifiedName()

      Returns the fully qualified name of the rule (package + rule name)
      Returns:
        the fully qualified name of the rule

    - #### isMainAgendaGroup

          boolean isMainAgendaGroup()

      Returns true if the rule is part of default agenda group. False otherwise
      Returns: