~tapaal-contributor/tapaal/disappearing-tokens-1940098

« back to all changes in this revision

Viewing changes to src/dk/aau/cs/model/tapn/TimedInhibitorArc.java

  • Committer: Kenneth Yrke Jørgensen
  • Date: 2011-04-12 09:50:16 UTC
  • mfrom: (329.1.188 tapaal-1.5)
  • Revision ID: mail@yrke.dk-20110412095016-e4hqdgab5596ja09
Merged with branch addning support for new 1.5 features

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package dk.aau.cs.model.tapn;
 
2
 
 
3
import java.util.ArrayList;
 
4
import java.util.List;
 
5
 
 
6
public class TimedInhibitorArc extends TimedInputArc {
 
7
        public TimedInhibitorArc(TimedPlace source, TimedTransition destination, TimeInterval interval) {
 
8
                super(source, destination, interval);
 
9
        }
 
10
        
 
11
        @Override
 
12
        public void setTimeInterval(TimeInterval interval) {
 
13
                super.setTimeInterval(TimeInterval.ZERO_INF);
 
14
        }
 
15
 
 
16
        @Override
 
17
        public boolean isEnabled() {
 
18
                return !super.isEnabled();
 
19
        }
 
20
 
 
21
        @Override
 
22
        public boolean isEnabledBy(TimedToken token) {
 
23
                return !super.isEnabledBy(token);
 
24
        }
 
25
        
 
26
        @Override
 
27
        public List<TimedToken> getElligibleTokens() {
 
28
                ArrayList<TimedToken> elligbleTokens = new ArrayList<TimedToken>();
 
29
                List<TimedToken> tokens = source().tokens();
 
30
 
 
31
                for (TimedToken t : tokens) {
 
32
                        if (!isEnabledBy(t)) elligbleTokens.add(t);
 
33
                }
 
34
 
 
35
                return elligbleTokens;
 
36
        }
 
37
 
 
38
        @Override
 
39
        public void delete() {
 
40
                model().remove(this);
 
41
        }
 
42
        
 
43
        public TimedInhibitorArc copy(TimedArcPetriNet tapn) {
 
44
                return new TimedInhibitorArc(tapn.getPlaceByName(source().name()), tapn.getTransitionByName(destination().name()), interval().copy());
 
45
        }
 
46
}