Statistiques
| Révision:

fr_b02 / petri / src / element / Transition.java @ 3

Historique | Voir | Annoter | Télécharger (1,589 ko)

1 3 a19coudr
package element;
2 2 a19coudr
3
import java.util.ArrayList;
4
import java.util.List;
5
6 3 a19coudr
import arc.Arc;
7
import arc.ArcEntering;
8
import arc.ArcOutering;
9
10 2 a19coudr
public class Transition {
11
12
13
        private List<Arc> arcList;
14
15
        public String toString() {
16
                String res= " [";
17
                for(int i=0;arcList.size()>i;i++ ) {
18
                        res=res+arcList.get(i).toString()+" // ";
19
                }
20
                res=res+"] ";
21
                return res;
22
        }
23
24
        public Transition() {
25
                this.arcList=new ArrayList<Arc>();
26
        }
27
28
29
        public boolean isPullable() {
30
                int i=0;
31
                boolean res=true;
32
                while(i<this.arcList.size() && res==true) {
33
                        res=this.arcList.get(i).isPullable();
34
                        i=i+1;
35
                }
36
                return res;
37
        }
38
39
        public void doTransition() {
40
                if (this.isPullable()==true) {
41
                        for (int i=0; i<arcList.size();i++) {
42
                                arcList.get(i).doTransition();
43
                        }
44
                }
45
        }
46
        public List<Arc> getArcList(){
47
                return this.arcList;
48
        }
49
        public static void main(String[] args) {
50
                System.out.println("TEST METHODS TRANSITION");
51
52
                Transition t1=new Transition();
53
                t1.arcList.add(new ArcOutering(new Place(4), 2));
54
                t1.arcList.add(new ArcEntering(new Place(4), 1));
55
56
                Transition t2=new Transition();
57
                t2.arcList.add(new ArcOutering(new Place(2), 3));
58
                t2.arcList.add(new ArcEntering(new Place(2), 3));
59
60
                System.out.println(" => method isPullable()");
61
62
                System.out.println(t1);
63
                System.out.println("true : "+t1.isPullable());
64
                System.out.println(t2);
65
                System.out.println("false : "+t2.isPullable());
66
67
                System.out.println(" => method doTranstion()");
68
                System.out.println("before : "+t1);
69
                t1.doTransition();
70
                System.out.println("after  : "+t1);
71
72
73
        }
74
}