Skip to content

Commit

Permalink
Added copy method to CollectionsSingletonListSerializer and made not …
Browse files Browse the repository at this point in the history
…immutable
  • Loading branch information
magneticflux- committed Jan 29, 2018
1 parent 6e263ba commit 8615c08
Showing 1 changed file with 10 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
*/
package de.javakaffee.kryoserializers;

import java.util.Collections;
import java.util.List;

import com.esotericsoftware.kryo.Kryo;
import com.esotericsoftware.kryo.Serializer;
import com.esotericsoftware.kryo.io.Input;
import com.esotericsoftware.kryo.io.Output;

import java.util.Collections;
import java.util.List;

/**
* A kryo {@link Serializer} for {@link List}s created via {@link Collections#singletonList(Object)}.
* <p>
Expand All @@ -36,7 +36,6 @@
public class CollectionsSingletonListSerializer extends Serializer<List<?>> {

public CollectionsSingletonListSerializer() {
setImmutable(true);
}

@Override
Expand All @@ -50,5 +49,11 @@ public void write(final Kryo kryo, final Output output, final List<?> list) {
kryo.writeClassAndObject(output, list.get( 0 ));
}


@Override
public List<?> copy(Kryo kryo, List<?> original) {
Object singleton = original.get(0);
kryo.reference(singleton);
Object newSingleton = kryo.copy(singleton);
return Collections.singletonList(newSingleton);
}
}

0 comments on commit 8615c08

Please sign in to comment.