EMMA Coverage Report (generated Sun Feb 05 10:43:15 CET 2012)
[all classes][de.uka.ipd.sdq.simulation.abstractsimengine]

COVERAGE SUMMARY FOR SOURCE FILE [AbstractSimProcessDelegator.java]

nameclass, %method, %block, %line, %
AbstractSimProcessDelegator.java0%   (0/1)0%   (0/10)0%   (0/63)0%   (0/18)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class AbstractSimProcessDelegator0%   (0/1)0%   (0/10)0%   (0/63)0%   (0/18)
<static initializer> 0%   (0/1)0%   (0/6)0%   (0/2)
AbstractSimProcessDelegator (ISimulationModel, String): void 0%   (0/1)0%   (0/15)0%   (0/4)
addProcessListener (ISimProcessListener): void 0%   (0/1)0%   (0/5)0%   (0/2)
generateNextID (): long 0%   (0/1)0%   (0/3)0%   (0/1)
getId (): String 0%   (0/1)0%   (0/13)0%   (0/1)
getRawId (): long 0%   (0/1)0%   (0/3)0%   (0/1)
isTerminated (): boolean 0%   (0/1)0%   (0/4)0%   (0/1)
passivate (): void 0%   (0/1)0%   (0/4)0%   (0/2)
removeProcessListener (ISimProcessListener): void 0%   (0/1)0%   (0/5)0%   (0/2)
scheduleAt (double): void 0%   (0/1)0%   (0/5)0%   (0/2)

1package de.uka.ipd.sdq.simulation.abstractsimengine;
2 
3import java.util.concurrent.atomic.AtomicLong;
4 
5/**
6 * @author Steffen Becker (this code has been factored out from SimuCom)
7 * @author Philipp Merkle
8 * 
9 * @param <M>
10 *            the type of the simulation model
11 * @see ISimProcess
12 */
13public abstract class AbstractSimProcessDelegator extends AbstractSimEntityDelegator implements
14        ISimProcess {
15 
16    private static AtomicLong processIdGenerator = new AtomicLong(0);
17 
18    /**
19     * the delegate has the simulation-library-specific knowledge of how this process can be
20     * suspended and resumed again. The delegate, however, is not aware of the lifecycle associated
21     * with this process, which is why it invokes the <code>lifecycle</code> method as soon as the
22     * process is to be executed.
23     */
24    private ISimProcess delegate;
25    private long id;
26 
27    public AbstractSimProcessDelegator(ISimulationModel model, String name) {
28        super(model, name);
29        this.delegate = model.getSimEngineFactory().createSimProcess(this, name);
30        this.id = generateNextID();
31    }
32 
33    // TODO This method should be rather named getId() but there is already such a method. Thus,
34    // getId() should be renamed to getTextualId() or similar.
35    public long getRawId() {
36        return id;
37    }
38 
39    public String getId() {
40        return getName() + "_" + id;
41    }
42 
43    private static long generateNextID() {
44        return processIdGenerator.incrementAndGet();
45    }
46 
47    public abstract void lifeCycle();
48 
49    /**
50     * {@inheritDoc}
51     */
52    public boolean isTerminated() {
53        return delegate.isTerminated();
54    }
55 
56    /**
57     * {@inheritDoc}
58     */
59    public void passivate() {
60        delegate.passivate();
61    }
62 
63    /**
64     * {@inheritDoc}
65     */
66    public void scheduleAt(double d) {
67        delegate.scheduleAt(d);
68    }
69 
70    public void addProcessListener(ISimProcessListener l) {
71        delegate.addProcessListener(l);
72    }
73 
74    public void removeProcessListener(ISimProcessListener l) {
75        delegate.removeProcessListener(l);
76    }
77    
78//    public boolean isScheduled() {
79//        return delegate.isScheduled();
80//    }
81//
82//    public void reschedule(double d) {
83//        delegate.reschedule(d);
84//    }
85 
86}

[all classes][de.uka.ipd.sdq.simulation.abstractsimengine]
EMMA 2.0.9414 (unsupported private build) (C) Vladimir Roubtsov