blob: 8f8c8b2544eddd74187d882306a811a50a6ff3c7 [file] [log] [blame]
Jonathan Hartaa380972014-04-03 10:24:46 -07001package net.onrc.onos.core.intent;
Brian O'Connor7f8e3012014-02-15 23:59:29 -08002
Jonathan Hart23701d12014-04-03 10:45:48 -07003import net.onrc.onos.core.util.FlowEntryAction;
Brian O'Connor67c6e662014-02-17 15:20:44 -08004
Brian O'Connorc67f9fa2014-08-07 18:17:46 -07005import org.projectfloodlight.openflow.protocol.OFFactory;
6import org.projectfloodlight.openflow.protocol.action.OFAction;
7
Brian O'Connor7f8e3012014-02-15 23:59:29 -08008/**
Brian O'Connora84723c2014-06-13 00:26:49 -07009 * An abstract class that represents an OpenFlow action.
Brian O'Connor7f8e3012014-02-15 23:59:29 -080010 */
11
Brian O'Connor67c6e662014-02-17 15:20:44 -080012public abstract class Action {
Brian O'Connor7f8e3012014-02-15 23:59:29 -080013
Brian O'Connora84723c2014-06-13 00:26:49 -070014 /**
15 * This function converts the Action into a legacy FlowEntryAction.
16 *
17 * @return an equivalent FlowEntryAction object
18 */
Brian O'Connor67c6e662014-02-17 15:20:44 -080019 public abstract FlowEntryAction getFlowEntryAction();
Brian O'Connorc67f9fa2014-08-07 18:17:46 -070020
21 /**
22 * Builds and returns an OFAction given an OFFactory.
23 *
24 * @param factory the OFFactory to use for building
25 * @return the OFAction
26 */
27 public abstract OFAction getOFAction(OFFactory factory);
Brian O'Connor7f8e3012014-02-15 23:59:29 -080028}