*/
package org.opendaylight.openflowplugin.openflow.md.queue;
-import org.opendaylight.openflowplugin.openflow.md.core.ConnectionConductor;
-import org.opendaylight.yangtools.yang.binding.DataObject;
+import java.util.List;
+
+import org.opendaylight.openflowplugin.api.openflow.md.core.ConnectionConductor;
+import org.opendaylight.openflowplugin.api.openflow.md.queue.QueueKeeper.QueueType;
import com.google.common.util.concurrent.SettableFuture;
/**
- * @author mirehak
- * @param <T> result type
- *
+ * @param <IN> source type
+ * @param <OUT> result type
*/
-public class TicketImpl<T> implements Ticket<T> {
+public class TicketImpl<IN, OUT> implements Ticket<IN, OUT> {
- private DataObject message;
+ private IN message;
private ConnectionConductor conductor;
- private SettableFuture<T> future;
- private Class<? extends DataObject> registeredMessageType;
+ private SettableFuture<List<OUT>> future;
+ private QueueType queueType;
+ private List<OUT> directResult;
/**
- * default ctor
+ * default ctor
*/
public TicketImpl() {
future = SettableFuture.create();
}
@Override
- public SettableFuture<T> getResult() {
- // TODO Auto-generated method stub
+ public SettableFuture<List<OUT>> getResult() {
return future;
}
* @return the message
*/
@Override
- public DataObject getMessage() {
+ public IN getMessage() {
return message;
}
/**
* @param message the message to set
*/
- public void setMessage(DataObject message) {
+ public void setMessage(IN message) {
this.message = message;
}
public void setConductor(ConnectionConductor conductor) {
this.conductor = conductor;
}
-
+
/**
- * @param registeredMessageType
+ * @param queueType the queueType to set
*/
- public void setRegisteredMessageType(
- Class<? extends DataObject> registeredMessageType) {
- this.registeredMessageType = registeredMessageType;
+ public void setQueueType(QueueType queueType) {
+ this.queueType = queueType;
}
+ @Override
+ public QueueType getQueueType() {
+ return queueType;
+ }
+
+ /**
+ * @return the directResult
+ */
+ @Override
+ public List<OUT> getDirectResult() {
+ return directResult;
+ }
+
/**
- * @return the registeredMessageType
+ * @param directResult the directResult to set
*/
@Override
- public Class<? extends DataObject> getRegisteredMessageType() {
- return registeredMessageType;
+ public void setDirectResult(List<OUT> directResult) {
+ this.directResult = directResult;
}
}