01: package org.drools.spi;
02:
03: import java.io.Serializable;
04:
05: import org.drools.common.DefaultAgenda;
06:
07: /*
08: * Copyright 2005 JBoss Inc
09: *
10: * Licensed under the Apache License, Version 2.0 (the "License");
11: * you may not use this file except in compliance with the License.
12: * You may obtain a copy of the License at
13: *
14: * http://www.apache.org/licenses/LICENSE-2.0
15: *
16: * Unless required by applicable law or agreed to in writing, software
17: * distributed under the License is distributed on an "AS IS" BASIS,
18: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19: * See the License for the specific language governing permissions and
20: * limitations under the License.
21: */
22:
23: /**
24: * The <code>Agenda</code> can be partitioned into groups, called <code>AgendaGroup</code>s. <code>Rule</code>s can be assigned to
25: * these <code>AgendaGroup</code>s. Only rules in the focus group can fire.
26: *
27: * @see DefaultAgenda
28: *
29: * @author <a href="mailto:mark.proctor@jboss.com">Mark Proctor</a>
30: * @author <a href="mailto:bob@werken.com">Bob McWhirter</a>
31: *
32: */
33: public interface AgendaGroup extends Serializable {
34:
35: /**
36: * Static reference to determine the default <code>AgendaGroup</code> name.
37: */
38: public static String MAIN = "MAIN";
39:
40: /**
41: * @return
42: * The <code>AgendaGroup</code> name
43: */
44: public String getName();
45:
46: /**
47: * @return An array of all the activations in the AgendaGroup
48: */
49: Activation[] getActivations();
50:
51: /**
52: * The total number of activations in this group
53: * @return
54: * int value for the total number of activations
55: */
56: public int size();
57:
58: public boolean isEmpty();
59:
60: public boolean isActive();
61:
62: }
|