dol: initial dol commit
[jump.git] / dol / src / dol / datamodel / mapping / ComputationBinding.java
1 /* $Id: ComputationBinding.java 1 2010-02-24 13:03:05Z haidw $ */\r
2 package dol.datamodel.mapping;\r
3 \r
4 import dol.datamodel.architecture.Processor;\r
5 import dol.datamodel.pn.Process;\r
6 import dol.visitor.MapVisitor;\r
7 \r
8 /**\r
9  * This class represents a computation binding element in the mapping.\r
10  */\r
11 public class ComputationBinding extends Binding {\r
12 \r
13     /**\r
14      * Constructor to create a ComputationBinding with a name.\r
15      */\r
16     public ComputationBinding(String name) {\r
17         super(name);\r
18         _type = COMPUTATION;\r
19     }\r
20 \r
21     /**\r
22      * Clone this Binding\r
23      *\r
24      * @return a new instance of the Binding.\r
25      */\r
26     public Object clone() {\r
27         ComputationBinding newObj = (ComputationBinding) super.clone();\r
28         newObj.setProcessor(_processor);\r
29         newObj.setProcess(_process);\r
30         return (newObj);\r
31     }\r
32 \r
33     /**\r
34      * Accept a Visitor\r
35      *\r
36      * @param x visitor object\r
37      */\r
38     public void accept(MapVisitor x) {\r
39         x.visitComponent(this);\r
40     }\r
41 \r
42     /** Set the PN process */\r
43     public void setProcess(Process p) {\r
44         _process = p;\r
45     }\r
46 \r
47     /** Get the PN process */\r
48     public Process getProcess() {\r
49         return _process;\r
50     }\r
51 \r
52     /** Set the processor from the architecture */\r
53     public void setProcessor(Processor p) {\r
54         _processor = p;\r
55     }\r
56 \r
57     /** Get the processor */\r
58     public Processor getProcessor() {\r
59         return _processor;\r
60     }\r
61 \r
62     /**\r
63      * Return a description of the binding.\r
64      *\r
65      * @return a description of the binding.\r
66      */\r
67     public String toString() {\r
68         return "ComputationBinding: " + getName() ;\r
69     }\r
70 \r
71     private Process _process = null;\r
72 \r
73     private Processor _processor = null;\r
74 \r
75 }\r