/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.controller.sal.action; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.opendaylight.controller.sal.utils.HexEncode; /** * Set source datalayer address action * */ @XmlRootElement @XmlAccessorType(XmlAccessType.NONE) public class SetDlSrc extends Action { private byte[] address; /* Dummy constructor for JAXB */ private SetDlSrc () { } public SetDlSrc(byte[] dlAddress) { type = ActionType.SET_DL_SRC; if (dlAddress != null) { this.address = dlAddress.clone(); } else { this.address = null; } } /** * Returns the datalayer address that this action will set * * @return byte[] */ public byte[] getDlAddress() { return address.clone(); } @XmlElement(name = "address") public String getDlAddressString() { return HexEncode.bytesToHexString(address); } @Override public boolean equals(Object other) { return EqualsBuilder.reflectionEquals(this, other); } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public String toString() { return type + "[address = " + HexEncode.bytesToHexString(address) + "]"; } }