package net.gcdc.geonetworking;
/**
* Traffic Class.
*
* The class is declared as final, just because there was no need for subclasses yet.
* If you remove final, make sure to take good care of {@link #equals(Object)} and
* {@link #hashCode()}.
*/
public final class TrafficClass {
private final byte code;
public TrafficClass(byte code) {
this.code = code;
}
@Override
public String toString() {
return "TrafficClass [0x" + Integer.toHexString(code) + "]";
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + code;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TrafficClass other = (TrafficClass) obj;
if (code != other.code)
return false;
return true;
}
public byte asByte() {
return code;
}
public static TrafficClass fromByte(byte code) {
return new TrafficClass(code);
}
}