| package net.onrc.onos.core.matchaction.action; |
| |
| import static com.google.common.base.Preconditions.checkNotNull; |
| import net.floodlightcontroller.util.MACAddress; |
| |
| import com.google.common.base.Objects; |
| |
| /** |
| * An action object to modify destination MAC address. |
| * <p> |
| * This class does not have a switch ID. The switch ID is handled by |
| * MatchAction, Flow or Intent class. |
| */ |
| public class ModifyDstMacAction implements Action { |
| private final MACAddress dstMac; |
| |
| /** |
| * Constructor. |
| * |
| * @param dstMac destination MAC address after the modification |
| */ |
| public ModifyDstMacAction(MACAddress dstMac) { |
| this.dstMac = checkNotNull(dstMac); |
| } |
| |
| /** |
| * Gets the destination MAC address. |
| * |
| * @return the destination MAC address |
| */ |
| public MACAddress getDstMac() { |
| return dstMac; |
| } |
| |
| @Override |
| public int hashCode() { |
| return Objects.hashCode(dstMac); |
| } |
| |
| @Override |
| public boolean equals(Object obj) { |
| if (this == obj) { |
| return true; |
| } |
| if (obj == null || getClass() != obj.getClass()) { |
| return false; |
| } |
| ModifyDstMacAction that = (ModifyDstMacAction) obj; |
| return Objects.equal(this.dstMac, that.dstMac); |
| } |
| } |