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    import org.eclipse.emf.common.util.EList;
012    
013    /**
014     * <!-- begin-user-doc -->
015     * A representation of the model object '<em><b>Rule Set</b></em>'.
016     * <!-- end-user-doc -->
017     *
018     * <!-- begin-model-doc -->
019     * Ruleset is a container of rule definitions.
020     * <!-- end-model-doc -->
021     *
022     * <p>
023     * The following features are supported:
024     * <ul>
025     *   <li>{@link com.hammurapi.reasoning.spi.model.RuleSet#getRule <em>Rule</em>}</li>
026     *   <li>{@link com.hammurapi.reasoning.spi.model.RuleSet#getBase <em>Base</em>}</li>
027     * </ul>
028     * </p>
029     *
030     * @see com.hammurapi.reasoning.spi.model.ModelPackage#getRuleSet()
031     * @model
032     * @generated
033     */
034    public interface RuleSet extends NamedObjectDefinition {
035            /**
036             * Returns the value of the '<em><b>Rule</b></em>' containment reference list.
037             * The list contents are of type {@link com.hammurapi.reasoning.spi.model.Rule}.
038             * <!-- begin-user-doc -->
039             * <!-- end-user-doc -->
040             * <!-- begin-model-doc -->
041             * Rule set contains zero or more rule classes.
042             * <!-- end-model-doc -->
043             * @return the value of the '<em>Rule</em>' containment reference list.
044             * @see com.hammurapi.reasoning.spi.model.ModelPackage#getRuleSet_Rule()
045             * @model containment="true"
046             * @generated
047             */
048            EList<Rule> getRule();
049    
050            /**
051             * Returns the value of the '<em><b>Base</b></em>' reference list.
052             * The list contents are of type {@link com.hammurapi.reasoning.spi.model.RuleSet}.
053             * <!-- begin-user-doc -->
054             * <!-- end-user-doc -->
055             * <!-- begin-model-doc -->
056             * Rule set can extend one or more other rule sets. In the case of extension, rules from the base rule sets are included into this rule set. Ruleset level configuration of base rule sets is ignored.
057             * <!-- end-model-doc -->
058             * @return the value of the '<em>Base</em>' reference list.
059             * @see com.hammurapi.reasoning.spi.model.ModelPackage#getRuleSet_Base()
060             * @model
061             * @generated
062             */
063            EList<RuleSet> getBase();
064    
065    } // RuleSet