@Override public byte[] serialise(final Set<? extends Object> object) throws SerialisationException { LengthValueBytesSerialiserUtil.LengthValueBuilder builder = new LengthValueBytesSerialiserUtil.LengthValueBuilder(); try { for (final Object entry : object) { builder.appendLengthValueFromObjectToByteStream(getObjectSerialiser(), entry); } } catch (final IOException e) { throw new SerialisationException(e.getMessage(), e); } return builder.toArray(); }
@Override public Set<? extends Object> deserialise(final byte[] bytes) throws SerialisationException { Set set; if (null == getSetClass()) { set = new HashSet<>(); } else { try { set = getSetClass().newInstance(); } catch (final IllegalAccessException | IllegalArgumentException | SecurityException | InstantiationException e) { throw new SerialisationException("Failed to create map instance" + e.getMessage(), e); } } final int arrayLength = bytes.length; int carriage = 0; while (carriage < arrayLength) { LengthValueBytesSerialiserUtil.ObjectCarriage c = LengthValueBytesSerialiserUtil.deserialiseNextObject(getObjectSerialiser(), carriage, bytes); set.add(c.getObject()); carriage = c.getCarriage(); } return set; }
@Override public byte[] serialise(final Set<? extends Object> object) throws SerialisationException { LengthValueBytesSerialiserUtil.LengthValueBuilder builder = new LengthValueBytesSerialiserUtil.LengthValueBuilder(); try { for (final Object entry : object) { builder.appendLengthValueFromObjectToByteStream(getObjectSerialiser(), entry); } } catch (final IOException e) { throw new SerialisationException(e.getMessage(), e); } return builder.toArray(); }
@Override public Set<? extends Object> deserialise(final byte[] bytes) throws SerialisationException { Set set; if (null == getSetClass()) { set = new HashSet<>(); } else { try { set = getSetClass().newInstance(); } catch (final IllegalAccessException | IllegalArgumentException | SecurityException | InstantiationException e) { throw new SerialisationException("Failed to create map instance" + e.getMessage(), e); } } final int arrayLength = bytes.length; int carriage = 0; while (carriage < arrayLength) { LengthValueBytesSerialiserUtil.ObjectCarriage c = LengthValueBytesSerialiserUtil.deserialiseNextObject(getObjectSerialiser(), carriage, bytes); set.add(c.getObject()); carriage = c.getCarriage(); } return set; }