JBBPNamedNumericFieldMap implements JBBPFieldFinder { public JBBPNumericField findForFieldOffset(final int offset) { JBBPNumericField result = null; for (final Map.Entry<JBBPNamedFieldInfo, JBBPNumericField> f : fieldMap.entrySet()) { if (f.getKey().getFieldOffsetInCompiledBlock() == offset) { result = f.getValue(); break; } } return result; } JBBPNamedNumericFieldMap();  JBBPNamedNumericFieldMap(final JBBPExternalValueProvider externalValueProvider); JBBPExternalValueProvider getExternalValueProvider(); JBBPNumericField get(final JBBPNamedFieldInfo namedField); void putField(final JBBPNumericField field); JBBPNumericField remove(final JBBPNamedFieldInfo nameInfo); JBBPNumericField findForFieldOffset(final int offset); @Override T findFirstFieldForType(final Class<T> fieldType); @Override T findLastFieldForType(final Class<T> fieldType); @Override T findFieldForType(final Class<T> fieldType); @Override T findFieldForNameAndType(final String fieldName, final Class<T> fieldType); @Override T findFieldForPathAndType(final String fieldPath, final Class<T> fieldType); @Override JBBPAbstractField findFieldForName(final String fieldName); @Override JBBPAbstractField findFieldForPath(final String fieldPath); @Override boolean nameExists(final String fieldName); @Override boolean pathExists(final String fieldPath); void clear(); boolean isEmpty(); int size(); int getExternalFieldValue(final String externalFieldName, final JBBPCompiledBlock compiledBlock, final JBBPIntegerValueEvaluator evaluator);  }
@Test public void testFindForFieldOffset() { final JBBPNamedNumericFieldMap map = new JBBPNamedNumericFieldMap(); final JBBPNumericField field1 = new JBBPFieldInt(new JBBPNamedFieldInfo("test.test", "test", 1), 123); final JBBPNumericField field2 = new JBBPFieldInt(new JBBPNamedFieldInfo("test.test2", "test2", 2222), 123); final JBBPNumericField field3 = new JBBPFieldByte(new JBBPNamedFieldInfo("test.test3", "test3", 3000), (byte) 123); map.putField(field1); map.putField(field2); map.putField(field3); assertSame(field1, map.findForFieldOffset(1)); assertSame(field2, map.findForFieldOffset(2222)); assertSame(field3, map.findForFieldOffset(3000)); assertNull(map.findForFieldOffset(123)); }