/** * @param value value * @param namespace namespace * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber getInstance(Integer value, String namespace) { Map<Integer, RadiotapPresentBitNumber> namedRegistry = registry.get(namespace); if (namedRegistry != null) { RadiotapPresentBitNumber num = namedRegistry.get(value); if (num != null) { return num; } } return new RadiotapPresentBitNumber(value, "unknown", namespace, 1); }
/** * @param value value * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber getInstance(Integer value) { return getInstance(value, ""); }
/** * @param num num * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber register(RadiotapPresentBitNumber num) { String namespace = num.getNamespace(); Map<Integer, RadiotapPresentBitNumber> namedRegistry = registry.get(namespace); if (namedRegistry == null) { namedRegistry = new HashMap<Integer, RadiotapPresentBitNumber>(); registry.put(namespace, namedRegistry); } return namedRegistry.put(num.value(), num); }
/** * @param num num * @return a class which implements RadiotapDataField for a specified type. */ public Class<? extends RadiotapData> getRadiotapDataFieldClass(RadiotapPresentBitNumber num) { StringBuilder sb = new StringBuilder(120); sb.append(RADIOTAP_DATA_FIELD_CLASS_KEY_BASE) .append(num.getClass().getName()) .append(".") .append(num.valueAsString()); return loader.<RadiotapData>getClass(sb.toString(), getUnknownRadiotapDataFieldClass()); }
int alignment = num.getRequiredAlignment(); int padSize = alignment - ((nextFieldOffset - offset) % alignment); if (padSize != alignment) {
/** * @param num num * @return a class which implements RadiotapDataField for a specified type. */ public Class<? extends RadiotapData> getRadiotapDataFieldClass(RadiotapPresentBitNumber num) { StringBuilder sb = new StringBuilder(120); sb.append(RADIOTAP_DATA_FIELD_CLASS_KEY_BASE) .append(num.getClass().getName()) .append(".") .append(num.valueAsString()); return loader.<RadiotapData>getClass(sb.toString(), getUnknownRadiotapDataFieldClass()); }
int alignment = num.getRequiredAlignment(); int padSize = alignment - ((nextFieldOffset - offset) % alignment); if (padSize != alignment) {
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + value().hashCode(); result = prime * result + namespace.hashCode(); return result; }
/** * @param num num * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber register(RadiotapPresentBitNumber num) { String namespace = num.getNamespace(); Map<Integer, RadiotapPresentBitNumber> namedRegistry = registry.get(namespace); if (namedRegistry == null) { namedRegistry = new HashMap<Integer, RadiotapPresentBitNumber>(); registry.put(namespace, namedRegistry); } return namedRegistry.put(num.value(), num); }
break; default: bitNumbers.add(RadiotapPresentBitNumber.getInstance(bitNum, namespace));
/** * @param value value * @param namespace namespace * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber getInstance(Integer value, String namespace) { Map<Integer, RadiotapPresentBitNumber> namedRegistry = registry.get(namespace); if (namedRegistry != null) { RadiotapPresentBitNumber num = namedRegistry.get(value); if (num != null) { return num; } } return new RadiotapPresentBitNumber(value, "unknown", namespace, 1); }
/** * @param value value * @return a RadiotapDataField object. */ public static RadiotapPresentBitNumber getInstance(Integer value) { return getInstance(value, ""); }
/** @return the raw data */ public byte[] getRawData() { byte[] data = new byte[length()]; for (RadiotapPresentBitNumber num : bitNumbers) { int bit = num.value() % 32; data[bit / ByteArrays.BYTE_SIZE_IN_BITS] |= 1 << bit % ByteArrays.BYTE_SIZE_IN_BITS; } if (radiotapNamespaceNext) { data[3] |= 0x20; } if (vendorNamespaceNext) { data[3] |= 0x40; } if (radiotapNamespaceNext) { data[3] |= 0x80; } return data; }
break; default: bitNumbers.add(RadiotapPresentBitNumber.getInstance(bitNum, namespace));
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + value().hashCode(); result = prime * result + namespace.hashCode(); return result; }