1 package org.openflow.codec.protocol.statistics;
3 import java.util.Arrays;
5 import org.openflow.codec.io.IDataBuffer;
8 * Represents ofp_experimenter_multipart_header
12 public class OFPExperimenterMultipartHeader implements OFPExtStatistics {
13 public static int MINIMUM_LENGTH = 8;
15 private int experimenter;
25 public OFPExperimenterMultipartHeader() {
26 this.length = MINIMUM_LENGTH;
34 public int getExperimenter() {
43 public void setExperimenter(int experimenter) {
44 this.experimenter = experimenter;
48 * get experimenter type
52 public int getExpType() {
57 * set experimenter type
61 public void setExpType(int expType) {
62 this.expType = expType;
66 public void readFrom(IDataBuffer data) {
67 this.experimenter = data.getInt();
68 this.expType = data.getInt();
69 if (this.length > MINIMUM_LENGTH) {
70 this.data = new byte[this.length - MINIMUM_LENGTH];
77 public void writeTo(IDataBuffer data) {
78 data.putInt(this.experimenter);
79 data.putInt(this.expType);
80 if (this.data != null)
87 public byte[] getData() {
95 public void setData(byte[] data) {
103 private void updateLength() {
104 int dataLength = (null == data) ? 0 : data.length;
105 this.length = OFPExperimenterMultipartHeader.MINIMUM_LENGTH + dataLength;
111 * @see java.lang.Object#hashCode()
114 public int hashCode() {
115 final int prime = 337;
117 result = prime * result + Arrays.hashCode(data);
118 result = prime * result + experimenter;
119 result = prime * result + expType;
126 * @see java.lang.Object#equals(java.lang.Object)
129 public boolean equals(Object obj) {
134 if (!(obj instanceof OFPExperimenterMultipartHeader))
136 OFPExperimenterMultipartHeader other = (OFPExperimenterMultipartHeader) obj;
137 if (experimenter != other.experimenter)
139 if (expType != other.expType)
141 if (!Arrays.equals(data, other.data))
147 public int getLength() {
152 public void setLength(int length) {
153 this.length = length;