Skip to content

Commit ccd79db

Browse files
authored
Rename boxed array methods and add boxed array getters (#9)
Rename set methods for boxed arrays (Boolean[], Byte[], Short[], Integer[], Long[], Float[], Double[]) from overloaded names to explicit "Boxed" names (e.g., setByteArray -> setBoxedByteArray) for API clarity. Add corresponding getter methods for boxed arrays (getBoxedBooleanArray, getBoxedByteArray, etc.) that return object arrays instead of primitives.
1 parent 94c27c8 commit ccd79db

4 files changed

Lines changed: 768 additions & 88 deletions

File tree

byteops-unsigned/src/main/java/com/digitalpetri/util/UnsignedByteOps.java

Lines changed: 61 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -358,68 +358,103 @@ public void setBooleanArray(T bytes, int index, boolean[] values) {
358358
}
359359

360360
@Override
361-
public void setBooleanArray(T bytes, int index, Boolean[] values) {
362-
delegate.setBooleanArray(bytes, index, values);
361+
public void setByteArray(T bytes, int index, byte[] values) {
362+
delegate.setByteArray(bytes, index, values);
363363
}
364364

365365
@Override
366-
public void setByteArray(T bytes, int index, byte[] values) {
367-
delegate.setByteArray(bytes, index, values);
366+
public void setShortArray(T bytes, int index, short[] values) {
367+
delegate.setShortArray(bytes, index, values);
368368
}
369369

370370
@Override
371-
public void setByteArray(T bytes, int index, Byte[] values) {
372-
delegate.setByteArray(bytes, index, values);
371+
public void setIntArray(T bytes, int index, int[] values) {
372+
delegate.setIntArray(bytes, index, values);
373373
}
374374

375375
@Override
376-
public void setShortArray(T bytes, int index, short[] values) {
377-
delegate.setShortArray(bytes, index, values);
376+
public void setLongArray(T bytes, int index, long[] values) {
377+
delegate.setLongArray(bytes, index, values);
378378
}
379379

380380
@Override
381-
public void setShortArray(T bytes, int index, Short[] values) {
382-
delegate.setShortArray(bytes, index, values);
381+
public void setFloatArray(T bytes, int index, float[] values) {
382+
delegate.setFloatArray(bytes, index, values);
383383
}
384384

385385
@Override
386-
public void setIntArray(T bytes, int index, int[] values) {
387-
delegate.setIntArray(bytes, index, values);
386+
public void setDoubleArray(T bytes, int index, double[] values) {
387+
delegate.setDoubleArray(bytes, index, values);
388388
}
389389

390390
@Override
391-
public void setIntArray(T bytes, int index, Integer[] values) {
392-
delegate.setIntArray(bytes, index, values);
391+
public Boolean[] getBoxedBooleanArray(T bytes, int index, int length) {
392+
return delegate.getBoxedBooleanArray(bytes, index, length);
393393
}
394394

395395
@Override
396-
public void setLongArray(T bytes, int index, long[] values) {
397-
delegate.setLongArray(bytes, index, values);
396+
public void setBoxedBooleanArray(T bytes, int index, Boolean[] values) {
397+
delegate.setBoxedBooleanArray(bytes, index, values);
398398
}
399399

400400
@Override
401-
public void setLongArray(T bytes, int index, Long[] values) {
402-
delegate.setLongArray(bytes, index, values);
401+
public Byte[] getBoxedByteArray(T bytes, int index, int length) {
402+
return delegate.getBoxedByteArray(bytes, index, length);
403403
}
404404

405405
@Override
406-
public void setFloatArray(T bytes, int index, float[] values) {
407-
delegate.setFloatArray(bytes, index, values);
406+
public void setBoxedByteArray(T bytes, int index, Byte[] values) {
407+
delegate.setBoxedByteArray(bytes, index, values);
408408
}
409409

410410
@Override
411-
public void setFloatArray(T bytes, int index, Float[] values) {
412-
delegate.setFloatArray(bytes, index, values);
411+
public Short[] getBoxedShortArray(T bytes, int index, int length) {
412+
return delegate.getBoxedShortArray(bytes, index, length);
413413
}
414414

415415
@Override
416-
public void setDoubleArray(T bytes, int index, double[] values) {
417-
delegate.setDoubleArray(bytes, index, values);
416+
public void setBoxedShortArray(T bytes, int index, Short[] values) {
417+
delegate.setBoxedShortArray(bytes, index, values);
418418
}
419419

420420
@Override
421-
public void setDoubleArray(T bytes, int index, Double[] values) {
422-
delegate.setDoubleArray(bytes, index, values);
421+
public Integer[] getBoxedIntArray(T bytes, int index, int length) {
422+
return delegate.getBoxedIntArray(bytes, index, length);
423+
}
424+
425+
@Override
426+
public void setBoxedIntArray(T bytes, int index, Integer[] values) {
427+
delegate.setBoxedIntArray(bytes, index, values);
428+
}
429+
430+
@Override
431+
public Long[] getBoxedLongArray(T bytes, int index, int length) {
432+
return delegate.getBoxedLongArray(bytes, index, length);
433+
}
434+
435+
@Override
436+
public void setBoxedLongArray(T bytes, int index, Long[] values) {
437+
delegate.setBoxedLongArray(bytes, index, values);
438+
}
439+
440+
@Override
441+
public Float[] getBoxedFloatArray(T bytes, int index, int length) {
442+
return delegate.getBoxedFloatArray(bytes, index, length);
443+
}
444+
445+
@Override
446+
public void setBoxedFloatArray(T bytes, int index, Float[] values) {
447+
delegate.setBoxedFloatArray(bytes, index, values);
448+
}
449+
450+
@Override
451+
public Double[] getBoxedDoubleArray(T bytes, int index, int length) {
452+
return delegate.getBoxedDoubleArray(bytes, index, length);
453+
}
454+
455+
@Override
456+
public void setBoxedDoubleArray(T bytes, int index, Double[] values) {
457+
delegate.setBoxedDoubleArray(bytes, index, values);
423458
}
424459

425460
// endregion

byteops/src/main/java/com/digitalpetri/util/AbstractByteOps.java

Lines changed: 106 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -185,93 +185,174 @@ public void setBooleanArray(T bytes, int index, boolean[] values) {
185185
}
186186

187187
@Override
188-
public void setBooleanArray(T bytes, int index, Boolean[] values) {
188+
public void setByteArray(T bytes, int index, byte[] values) {
189189
for (int i = 0; i < values.length; i++) {
190-
setBoolean(bytes, index + i, values[i]);
190+
setByte(bytes, index + i, values[i]);
191191
}
192192
}
193193

194194
@Override
195-
public void setByteArray(T bytes, int index, byte[] values) {
195+
public void setShortArray(T bytes, int index, short[] values) {
196196
for (int i = 0; i < values.length; i++) {
197-
setByte(bytes, index + i, values[i]);
197+
setShort(bytes, index + i * 2, values[i]);
198198
}
199199
}
200200

201201
@Override
202-
public void setByteArray(T bytes, int index, Byte[] values) {
202+
public void setIntArray(T bytes, int index, int[] values) {
203203
for (int i = 0; i < values.length; i++) {
204-
setByte(bytes, index + i, values[i]);
204+
setInt(bytes, index + i * 4, values[i]);
205205
}
206206
}
207207

208208
@Override
209-
public void setShortArray(T bytes, int index, short[] values) {
209+
public void setLongArray(T bytes, int index, long[] values) {
210210
for (int i = 0; i < values.length; i++) {
211-
setShort(bytes, index + i * 2, values[i]);
211+
setLong(bytes, index + i * 8, values[i]);
212212
}
213213
}
214214

215215
@Override
216-
public void setShortArray(T bytes, int index, Short[] values) {
216+
public void setFloatArray(T bytes, int index, float[] values) {
217217
for (int i = 0; i < values.length; i++) {
218-
setShort(bytes, index + i * 2, values[i]);
218+
setFloat(bytes, index + i * 4, values[i]);
219219
}
220220
}
221221

222222
@Override
223-
public void setIntArray(T bytes, int index, int[] values) {
223+
public void setDoubleArray(T bytes, int index, double[] values) {
224224
for (int i = 0; i < values.length; i++) {
225-
setInt(bytes, index + i * 4, values[i]);
225+
setDouble(bytes, index + i * 8, values[i]);
226226
}
227227
}
228228

229+
// region Boxed Array Support
230+
229231
@Override
230-
public void setIntArray(T bytes, int index, Integer[] values) {
232+
public Boolean[] getBoxedBooleanArray(T bytes, int index, int length) {
233+
var value = new Boolean[length];
234+
235+
for (int i = 0; i < length; i++) {
236+
value[i] = getBoolean(bytes, index + i);
237+
}
238+
239+
return value;
240+
}
241+
242+
@Override
243+
public Byte[] getBoxedByteArray(T bytes, int index, int length) {
244+
var value = new Byte[length];
245+
246+
for (int i = 0; i < length; i++) {
247+
value[i] = getByte(bytes, index + i);
248+
}
249+
250+
return value;
251+
}
252+
253+
@Override
254+
public Short[] getBoxedShortArray(T bytes, int index, int length) {
255+
var value = new Short[length];
256+
257+
for (int i = 0; i < length; i++) {
258+
value[i] = getShort(bytes, index + i * 2);
259+
}
260+
261+
return value;
262+
}
263+
264+
@Override
265+
public Integer[] getBoxedIntArray(T bytes, int index, int length) {
266+
var value = new Integer[length];
267+
268+
for (int i = 0; i < length; i++) {
269+
value[i] = getInt(bytes, index + i * 4);
270+
}
271+
272+
return value;
273+
}
274+
275+
@Override
276+
public Long[] getBoxedLongArray(T bytes, int index, int length) {
277+
var value = new Long[length];
278+
279+
for (int i = 0; i < length; i++) {
280+
value[i] = getLong(bytes, index + i * 8);
281+
}
282+
283+
return value;
284+
}
285+
286+
@Override
287+
public Float[] getBoxedFloatArray(T bytes, int index, int length) {
288+
var value = new Float[length];
289+
290+
for (int i = 0; i < length; i++) {
291+
value[i] = getFloat(bytes, index + i * 4);
292+
}
293+
294+
return value;
295+
}
296+
297+
@Override
298+
public Double[] getBoxedDoubleArray(T bytes, int index, int length) {
299+
var value = new Double[length];
300+
301+
for (int i = 0; i < length; i++) {
302+
value[i] = getDouble(bytes, index + i * 8);
303+
}
304+
305+
return value;
306+
}
307+
308+
@Override
309+
public void setBoxedBooleanArray(T bytes, int index, Boolean[] values) {
231310
for (int i = 0; i < values.length; i++) {
232-
setInt(bytes, index + i * 4, values[i]);
311+
setBoolean(bytes, index + i, values[i]);
233312
}
234313
}
235314

236315
@Override
237-
public void setLongArray(T bytes, int index, long[] values) {
316+
public void setBoxedByteArray(T bytes, int index, Byte[] values) {
238317
for (int i = 0; i < values.length; i++) {
239-
setLong(bytes, index + i * 8, values[i]);
318+
setByte(bytes, index + i, values[i]);
240319
}
241320
}
242321

243322
@Override
244-
public void setLongArray(T bytes, int index, Long[] values) {
323+
public void setBoxedShortArray(T bytes, int index, Short[] values) {
245324
for (int i = 0; i < values.length; i++) {
246-
setLong(bytes, index + i * 8, values[i]);
325+
setShort(bytes, index + i * 2, values[i]);
247326
}
248327
}
249328

250329
@Override
251-
public void setFloatArray(T bytes, int index, float[] values) {
330+
public void setBoxedIntArray(T bytes, int index, Integer[] values) {
252331
for (int i = 0; i < values.length; i++) {
253-
setFloat(bytes, index + i * 4, values[i]);
332+
setInt(bytes, index + i * 4, values[i]);
254333
}
255334
}
256335

257336
@Override
258-
public void setFloatArray(T bytes, int index, Float[] values) {
337+
public void setBoxedLongArray(T bytes, int index, Long[] values) {
259338
for (int i = 0; i < values.length; i++) {
260-
setFloat(bytes, index + i * 4, values[i]);
339+
setLong(bytes, index + i * 8, values[i]);
261340
}
262341
}
263342

264343
@Override
265-
public void setDoubleArray(T bytes, int index, double[] values) {
344+
public void setBoxedFloatArray(T bytes, int index, Float[] values) {
266345
for (int i = 0; i < values.length; i++) {
267-
setDouble(bytes, index + i * 8, values[i]);
346+
setFloat(bytes, index + i * 4, values[i]);
268347
}
269348
}
270349

271350
@Override
272-
public void setDoubleArray(T bytes, int index, Double[] values) {
351+
public void setBoxedDoubleArray(T bytes, int index, Double[] values) {
273352
for (int i = 0; i < values.length; i++) {
274353
setDouble(bytes, index + i * 8, values[i]);
275354
}
276355
}
356+
357+
// endregion
277358
}

0 commit comments

Comments
 (0)