final @Nullable ExtraField getExtraField(int headerId) { final ExtraFields fields = this.fields; return fields == null ? null : fields.get(headerId); }
private byte[] getExtraFields(final boolean zip64) { ExtraFields fields = this.fields; if (zip64) { final ExtraField field = composeZip64ExtraField(); if (null != field) { fields = null != fields ? fields.clone() : new ExtraFields(); fields.add(field); } } else { assert null == fields || null == fields.get(ZIP64_HEADER_ID); } return null == fields ? EMPTY : fields.getExtra(); }
@Test public void testCollection1() { assertEquals(0, fields.getExtra().length); final ExtraField ef = new DefaultExtraField(ExtraField.ZIP64_HEADER_ID); assertNull(fields.get(ExtraField.ZIP64_HEADER_ID)); assertNull(fields.add(ef)); byte[] got = fields.getExtra(); assertEquals(4 + ef.getDataSize(), got.length); assertSame(ef, fields.remove(ExtraField.ZIP64_HEADER_ID)); assertEquals(0, fields.getExtra().length); } }
final ExtraField ef = fields.get(ZIP64_HEADER_ID); if (null == ef) return; final byte[] data = ef.getDataBlock();
@Test public void testCollection0() { fields.readFrom(serialized, 0, serialized.length); final ExtraField ef = fields.get(ExtraField.ZIP64_HEADER_ID); assertNotNull(ef); assertSame(ef, fields.remove(ExtraField.ZIP64_HEADER_ID)); assertNull(fields.get(ExtraField.ZIP64_HEADER_ID)); assertNull(fields.add(ef)); final byte[] got = fields.getExtra(); assertNotSame(serialized, got); assertTrue(Arrays.equals(serialized, got)); }