Я хотел бы сериализацию в Scala - я видел подобные sjson и аннотацию @serializable - однако я не смог чтобы увидеть, как заставить их справиться с 1 серьезным препятствием - стиранием типов и обобщениями в библиотеках.
Возьмем, к примеру, Graph for Scala Library. Я интенсивно использую ее в своем коде и хотел бы мне нравится записывать несколько объектов, содержащих графики, на диск в моем коде на будущее анализ. Однако часто типы узлов и ребер инкапсулируются в аргументы универсального типа другого имеющегося у меня класса. Как я могу правильно сериализовать эти классы, не изменяя саму библиотеку для работы с отражением или не «загрязняя» мой код, импортируя большое количество классов типов (сериализация в соответствии с тем, как просматривается объект, совершенно неудовлетворительна в любом случае ...)?
Пример,
class Container[N](val g: Graph[N,DiEdge]) {
...
}
// in another file
def myMethod[N](container: Container[N]): Unit = {
}