This is an automated email from the ASF dual-hosted git repository.

chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fury-site.git


The following commit(s) were added to refs/heads/main by this push:
     new e42666bb 🔄 synced local 'docs/guide/' with remote 'docs/guide/'
e42666bb is described below

commit e42666bbf27bf47c908358c34f1084ee430aba93
Author: chaokunyang <[email protected]>
AuthorDate: Sun Nov 10 11:38:12 2024 +0000

    🔄 synced local 'docs/guide/' with remote 'docs/guide/'
---
 docs/guide/scala_guide.md | 36 ++++++++++++++++++++++--------------
 1 file changed, 22 insertions(+), 14 deletions(-)

diff --git a/docs/guide/scala_guide.md b/docs/guide/scala_guide.md
index 534667a1..51ef4f03 100644
--- a/docs/guide/scala_guide.md
+++ b/docs/guide/scala_guide.md
@@ -28,6 +28,27 @@ To add a dependency on Fury scala for scala 3 with sbt, use 
the following:
 libraryDependencies += "org.apache.fury" % "fury-scala_3" % "0.9.0"
 ```
 
+## Quict Start
+
+```scala
+case class Person(name: String, id: Long, github: String)
+case class Point(x : Int, y : Int, z : Int)
+
+object ScalaExample {
+  val fury: Fury = Fury.builder().withScalaOptimizationEnabled(true).build()
+  // Register optimized fury serializers for scala
+  ScalaSerializers.registerSerializers(fury)
+  fury.register(classOf[Person])
+  fury.register(classOf[Point])
+
+  def main(args: Array[String]): Unit = {
+    val p = Person("Shawn Yang", 1, "https://github.com/chaokunyang";)
+    println(fury.deserialize(fury.serialize(p)))
+    println(fury.deserialize(fury.serialize(Point(1, 2, 3))))
+  }
+}
+```
+
 ## Fury creation
 
 When using fury for scala serialization, you should create fury at least with 
following options:
@@ -35,29 +56,16 @@ 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()
+val fury = Fury.builder().withScalaOptimizationEnabled(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:
 
 ```scala
-fury.register(Class.forName("scala.collection.generic.DefaultSerializationProxy"))
 fury.register(Class.forName("scala.Enumeration.Val"))
 ```
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to