001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.reasoning.spi.model;
008
009 import com.hammurapi.config.NamedObjectDefinition;
010
011 /**
012 * <!-- begin-user-doc -->
013 * A representation of the model object '<em><b>Rule</b></em>'.
014 * <!-- end-user-doc -->
015 *
016 * <!-- begin-model-doc -->
017 * Rule class contains inference methods.
018 * <!-- end-model-doc -->
019 *
020 * <p>
021 * The following features are supported:
022 * <ul>
023 * <li>{@link com.hammurapi.reasoning.spi.model.Rule#getPriority <em>Priority</em>}</li>
024 * </ul>
025 * </p>
026 *
027 * @see com.hammurapi.reasoning.spi.model.ModelPackage#getRule()
028 * @model
029 * @generated
030 */
031 public interface Rule extends NamedObjectDefinition {
032 /**
033 * Returns the value of the '<em><b>Priority</b></em>' attribute.
034 * The default value is <code>"0"</code>.
035 * <!-- begin-user-doc -->
036 * <!-- end-user-doc -->
037 * <!-- begin-model-doc -->
038 * Rule priority applies to all inference methods in the rule. Priority specified in @Infer annotation overrides rule level priority setting.
039 * Rules with higher priority are executed before rules with lower priority. Rules with higher priority can "consume" input fact, thus preventing invocation of rules with lower priority. Order of execution of rules with the same priority is undefined.
040 * <!-- end-model-doc -->
041 * @return the value of the '<em>Priority</em>' attribute.
042 * @see #setPriority(int)
043 * @see com.hammurapi.reasoning.spi.model.ModelPackage#getRule_Priority()
044 * @model default="0"
045 * @generated
046 */
047 int getPriority();
048
049 /**
050 * Sets the value of the '{@link com.hammurapi.reasoning.spi.model.Rule#getPriority <em>Priority</em>}' attribute.
051 * <!-- begin-user-doc -->
052 * <!-- end-user-doc -->
053 * @param value the new value of the '<em>Priority</em>' attribute.
054 * @see #getPriority()
055 * @generated
056 */
057 void setPriority(int value);
058
059 } // Rule