--- /dev/null
+/* $Id: ReadPath.java 1 2010-02-24 13:03:05Z haidw $ */
+package dol.datamodel.architecture;
+
+import java.util.Vector;
+
+import dol.visitor.ArchiVisitor;
+
+/**
+ * This class defines a read path. A read path contains one processor,
+ * one rxbuf, one channel buf, and one or more hw channels.
+ */
+public class ReadPath extends ArchiResource {
+ /**
+ * Constructor to create an architecture connection with a name.
+ *
+ */
+ public ReadPath(String name) {
+ super(name);
+ _hwChannelList = new Vector<HWChannel>();
+ }
+
+ /**
+ * Accept a Visitor.
+ *
+ * @param x visitor object
+ */
+ public void accept(ArchiVisitor x) {
+ x.visitComponent(this);
+ }
+
+ /**
+ * Clone this architectural connection.
+ *
+ * @return a new instance of the architectural connection.
+ */
+ /*
+ @SuppressWarnings("unchecked")
+ public Object clone() {
+ ReadPath newObj = (ReadPath) super.clone();
+ newObj.setProcessor(_processor);
+ newObj.setRXBuf(_rxBuf);
+ newObj.setCHBuf(_chBuf);
+ newObj.setHWChannelNameList((Vector)_hwChannelNameList.clone());
+ return (newObj);
+ }
+ */
+
+ /**
+ * Return a string representation of the architectural connection.
+ *
+ * @return string representation of the architectural connection
+ */
+ public String toString() {
+ return "ReadPath: " + getName();
+ }
+
+ /**
+ * Return the memory where the receive buffer is located.
+ *
+ * @return name of memory
+ */
+ public Memory getRXBuf() { return _rxBuf; }
+
+ /**
+ * Set the receive buffer location.
+ *
+ * @param rxbuf rxbuf location
+ */
+ public void setRXBuf(Memory rxbuf) { _rxBuf = rxbuf; }
+
+ /**
+ * Return the memory where the channel buffer is located.
+ *
+ * @return channel buffer location
+ */
+ public Memory getCHBuf() { return _chBuf; }
+
+ /**
+ * Set the channel buffer location
+ *
+ * @param chbuf memory where channel buffer is located.
+ */
+ public void setCHBuf(Memory chbuf) { _chBuf = chbuf; }
+
+ /**
+ * Return the list of the HW channels.
+ *
+ * @return list of HW channels
+ */
+ public Vector<HWChannel> getHWChannelList() { return _hwChannelList; }
+
+ /**
+ * Return the processor to which this path is associated.
+ *
+ * @return processor
+ */
+ public Processor getProcessor() {
+ return _processor;
+ }
+
+ /**
+ * Set the processor to which this path is associated
+ *
+ * @param processor processor
+ */
+ public void setProcessor(Processor processor) {
+ _processor = processor;
+ }
+
+
+ protected Processor _processor;
+ protected Memory _rxBuf;
+ protected Memory _chBuf;
+ protected Vector<HWChannel> _hwChannelList;
+}