blob: f72b07e8a6fa1f1532fefbc21db6001e8018e810 [file] [log] [blame]
tom8bb16062014-09-12 14:47:46 -07001package org.onlab.onos.net.flow;
2
3import org.onlab.onos.net.PortNumber;
4
5/**
6 * Factory class for creating various traffic treatment instructions.
7 */
8public final class Instructions {
9
10 // Ban construction
alshabib1d4cace2014-09-13 19:16:26 -070011 private Instructions() {}
tom8bb16062014-09-12 14:47:46 -070012
13 /**
14 * Creates an output instruction using the specified port number. This can
15 * include logical ports such as CONTROLLER, FLOOD, etc.
16 *
17 * @param number port number
18 * @return output instruction
19 */
alshabib1d4cace2014-09-13 19:16:26 -070020 public static Instruction<PortNumber> createOutput(final PortNumber number) {
21 return new Instruction<PortNumber>() {
22
23 @Override
24 public Instruction.Type type() {
25 return Type.OUTPUT;
26 }
27
28 @Override
29 public PortNumber instruction() {
30 return number;
31 }
32
33 };
tom8bb16062014-09-12 14:47:46 -070034 }
35
36 // TODO: add create methods
37
38}