Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import scala.pickling._
- import json._
- trait ScoringOnt
- case class GeoObject(name: String) extends ScoringOnt
- trait Extractor[+T]
- trait OntsFromStimulus[T] {
- def extract(input: String): T
- }
- trait StimulusMatchingOntExtractor extends Extractor[ScoringOnt] with OntsFromStimulus[ScoringOnt] {
- def ontTypeId: Int
- }
- trait UserOnts extends OntsFromStimulus[ScoringOnt] {
- def ontTypeId: Int
- }
- case class GeoObjectOntExtractor(ontTypeId: Int, threshold: Option[Double] = None)
- extends StimulusMatchingOntExtractor with UserOnts {
- def extract(input: String): ScoringOnt = GeoObject(input)
- }
- object PickleTest extends App {
- val test_serialized_1 = GeoObjectOntExtractor(1).pickle.value
- println(s"Test 1 serialized: \n $test_serialized_1")
- val test_deserialized_1 = JSONPickle(test_serialized_1).unpickle[GeoObjectOntExtractor]
- println(s"Test 1 deserialized; \n $test_deserialized_1")
- }
Advertisement
Add Comment
Please, Sign In to add comment