Skip to content

Commit

Permalink
refine Range serialization
Browse files Browse the repository at this point in the history
  • Loading branch information
chaokunyang committed Oct 5, 2024
1 parent ea961fc commit 382a693
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions docs/guide/scala_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,23 @@ When using fury for scala serialization, you should create fury at least with fo
```scala
import org.apache.fury.Fury
import org.apache.fury.serializer.scala.ScalaSerializers
import org.apache.fury.serializer.collection.CollectionSerializers.DefaultJavaCollectionSerializer

val fury = Fury.builder()
.withScalaOptimizationEnabled(true)
.requireClassRegistration(true)
.withRefTracking(true)
.build()

// Register optimized fury serializers for scala
ScalaSerializers.registerSerializers(fury)
// serialize range as (start, step, end) instead of collection
// this will be handled in next version automatically.
fury.registerSerializer(classOf[Range.Inclusive], classOf[DefaultJavaCollectionSerializer])
fury.registerSerializer(classOf[Range.Exclusive], classOf[DefaultJavaCollectionSerializer])
fury.registerSerializer(classOf[NumericRange], classOf[DefaultJavaCollectionSerializer])
fury.registerSerializer(classOf[NumericRange.Inclusive], classOf[DefaultJavaCollectionSerializer])
fury.registerSerializer(classOf[NumericRange.Exclusive], classOf[DefaultJavaCollectionSerializer])
```

Depending on the object types you serialize, you may need to register some scala internal types:
Expand Down

0 comments on commit 382a693

Please sign in to comment.