/** {@inheritDoc} */ @Override public <T> T getField(String name) { Object val; if (assignedVals != null && assignedVals.containsKey(name)) { val = assignedVals.get(name); if (val == REMOVED_FIELD_MARKER) return null; } else { ensureReadCacheInit(); int fldId = ctx.fieldId(typeId, name); val = readCache.get(fldId); } return (T)BinaryUtils.unwrapLazy(val); }
assertEquals("val".hashCode(), ctx.fieldId("key".hashCode(), "val")); assertEquals("val".hashCode(), ctx.fieldId("nonexistentclass2".hashCode(), "val")); assertEquals("val".hashCode(), ctx.fieldId("notconfiguredclass".hashCode(), "val")); assertEquals(301, ctx.fieldId(300, "val1")); assertEquals(302, ctx.fieldId(300, "val2")); assertEquals("val3".hashCode(), ctx.fieldId(300, "val3")); assertEquals(401, ctx.fieldId(400, "val1")); assertEquals(402, ctx.fieldId(400, "val2")); assertEquals("val3".hashCode(), ctx.fieldId(400, "val3"));
/** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override public <T> T getField(String name) { Object val; if (assignedVals != null && assignedVals.containsKey(name)) { val = assignedVals.get(name); if (val == REMOVED_FIELD_MARKER) return null; } else { ensureReadCacheInit(); int fldId = ctx.fieldId(typeId, name); val = readCache.get(fldId); } return (T)BinaryUtils.unwrapLazy(val); }