/** * @param value value * @return a IpV4InternetTimestampOptionFlag object. */ public static IpV4InternetTimestampOptionFlag getInstance(Byte value) { if (registry.containsKey(value)) { return registry.get(value); } else { return new IpV4InternetTimestampOptionFlag(value, "unknown"); } }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!this.getClass().isInstance(obj)) { return false; } IpV4InternetTimestampOption other = (IpV4InternetTimestampOption) obj; if (length == other.length && pointer == other.pointer && overflow == other.overflow && flag.equals(other.flag)) { if (data == null) { return other.data == null; } else { return data.equals(other.data); } } else { return false; } }
@Override public int hashCode() { int result = 17; result = 31 * result + length; result = 31 * result + pointer; result = 31 * result + overflow; result = 31 * result + flag.hashCode(); if (data != null) { result = 31 * result + data.hashCode(); } return result; }
/** * @param flag flag * @return a IpV4InternetTimestampOptionFlag object. */ public static IpV4InternetTimestampOptionFlag register(IpV4InternetTimestampOptionFlag flag) { return registry.put(flag.value(), flag); }
/** * @param flag flag * @return a class which implements IpV4InternetTimestampOptionData for a specified flag. */ public Class<? extends IpV4InternetTimestampOptionData> getIpV4InternetTimestampDataClass( IpV4InternetTimestampOptionFlag flag) { StringBuilder sb = new StringBuilder(150); sb.append(IPV4_INTERNET_TIMESTAMP_DATA_CLASS_KEY_BASE) .append(flag.getClass().getName()) .append(".") .append(flag.valueAsString()); return loader.<IpV4InternetTimestampOptionData>getClass( sb.toString(), getUnknownIpV4InternetTimestampDataClass()); }
this.flag = IpV4InternetTimestampOptionFlag.getInstance((byte) (rawData[3 + offset] & 0x0F)); if (lengthFieldAsInt > 4) { this.data =
/** * @param flag flag * @return a class which implements IpV4InternetTimestampOptionData for a specified flag. */ public Class<? extends IpV4InternetTimestampOptionData> getIpV4InternetTimestampDataClass( IpV4InternetTimestampOptionFlag flag) { StringBuilder sb = new StringBuilder(150); sb.append(IPV4_INTERNET_TIMESTAMP_DATA_CLASS_KEY_BASE) .append(flag.getClass().getName()) .append(".") .append(flag.valueAsString()); return loader.<IpV4InternetTimestampOptionData>getClass( sb.toString(), getUnknownIpV4InternetTimestampDataClass()); }
this.flag = IpV4InternetTimestampOptionFlag.getInstance((byte) (rawData[3 + offset] & 0x0F)); if (lengthFieldAsInt > 4) { this.data =
@Override public byte[] getRawData() { byte[] rawData = new byte[length()]; rawData[0] = getType().value(); rawData[1] = length; rawData[2] = pointer; rawData[3] = flag.value(); rawData[3] = (byte) (rawData[3] | (overflow << 4)); if (data != null) { System.arraycopy(data.getRawData(), 0, rawData, 4, data.length()); } return rawData; }
@Override public int hashCode() { int result = 17; result = 31 * result + length; result = 31 * result + pointer; result = 31 * result + overflow; result = 31 * result + flag.hashCode(); if (data != null) { result = 31 * result + data.hashCode(); } return result; }
/** * @param value value * @return a IpV4InternetTimestampOptionFlag object. */ public static IpV4InternetTimestampOptionFlag getInstance(Byte value) { if (registry.containsKey(value)) { return registry.get(value); } else { return new IpV4InternetTimestampOptionFlag(value, "unknown"); } }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (!this.getClass().isInstance(obj)) { return false; } IpV4InternetTimestampOption other = (IpV4InternetTimestampOption) obj; if (length == other.length && pointer == other.pointer && overflow == other.overflow && flag.equals(other.flag)) { if (data == null) { return other.data == null; } else { return data.equals(other.data); } } else { return false; } }
/** * @param flag flag * @return a IpV4InternetTimestampOptionFlag object. */ public static IpV4InternetTimestampOptionFlag register(IpV4InternetTimestampOptionFlag flag) { return registry.put(flag.value(), flag); }
@Override public byte[] getRawData() { byte[] rawData = new byte[length()]; rawData[0] = getType().value(); rawData[1] = length; rawData[2] = pointer; rawData[3] = flag.value(); rawData[3] = (byte) (rawData[3] | (overflow << 4)); if (data != null) { System.arraycopy(data.getRawData(), 0, rawData, 4, data.length()); } return rawData; }