package descriptor
These classes serve as meta-data controlling JSON import by fromJson
and
export by toJson
. Among all, the meta-data contain identifiers based on which
JSON edges will be matched to edge classes and Graph
-specific serializers
to be involved.
- Alphabetic
- By Inheritance
- descriptor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
- package predefined
This package contains predefined edge descriptors for all basic/predefined edge types.
This package contains predefined edge descriptors for all basic/predefined edge types. They may be used when defining
json.descriptor.Descriptor
s for convenience. For instance,UnDi.descriptor[String](Some(new EdgeSerializer))
is a shorthand for
new EdgeDescriptor[String,UnDiEdge,UnDiEdge.type](UnDiEdge, Some(new EdgeSerializer))
where predefined edge types named <edgeType>Edge map to predefined descriptors named <edgeType>.
Type Members
- final class Descriptor[N] extends AnyRef
Top level descriptor to be passed to Graph/JSON conversion methods, in particular to
fromJson
andtoJson
.Top level descriptor to be passed to Graph/JSON conversion methods, in particular to
fromJson
andtoJson
.- N
the type of graph nodes.
- Exceptions thrown
`IllegalArgumentException`
if any of the descriptor maps is empty.
- class DiHyperEdgeDescriptor[N, E <: AbstractDiHyperEdge[N]] extends EdgeDescriptorBase[N, E]
Determines how to extract data of non-labeled directed hyperedges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of non-labeled directed hyperedges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- class EdgeDescriptor[N, E <: AnyEdge[N]] extends EdgeDescriptorBase[N, E]
Determines how to extract data of non-labeled edges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of non-labeled edges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- sealed abstract class EdgeDescriptorBase[N, E <: Edge[N]] extends GenEdgeDescriptor[N]
Base trait for any
class *EdgeDescriptor
. - sealed abstract class GenEdgeDescriptor[N] extends TypeId
Generic base trait for any
*EdgeDescriptor
excluding edge types to be used as type argument to collections containing edge descriptors of different types. - class HyperEdgeDescriptor[N, E <: AbstractHyperEdge[N]] extends EdgeDescriptorBase[N, E]
Determines how to extract data of non-labeled hyperedges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of non-labeled hyperedges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- abstract class LDiHyperEdgeDescriptor[N, E <: AbstractDiHyperEdge[N], L] extends EdgeDescriptorBase[N, E] with Label[E]
Determines how to extract data of labeled directed hyperedges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of labeled directed hyperedges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- abstract class LEdgeDescriptor[N, E <: AnyEdge[N], L] extends EdgeDescriptorBase[N, E] with Label[E]
Determines how to extract data of labeled edges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of labeled edges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- abstract class LHyperEdgeDescriptor[N, E <: AbstractHyperEdge[N], L] extends EdgeDescriptorBase[N, E] with Label[E]
Determines how to extract data of labeled hyperedges from a JValue and how to decompose such an edge to a JValue.
Determines how to extract data of labeled hyperedges from a JValue and how to decompose such an edge to a JValue.
Instances of this class must be passed as a constructor argument to a scalax.collection.io.json.descriptor.Descriptor either directly or indirectly by utilizing a predefined edge descriptor.
- trait Label[E <: Edge[_]] extends AnyRef
- Attributes
- protected
- abstract class NodeDescriptor[+N] extends TypeId
Determines how to extract node data from a JValue and how to decompose the node to a JValue.
Determines how to extract node data from a JValue and how to decompose the node to a JValue.
- N
type of nodes described with this descriptor which either the same type or a subtype of the node type parameter of the targeted graph.
- case class SectionKeys(nodesId: String = "nodes", edgesId: String = "edges") extends Product with Serializable
Contains string constants that are used as JSON keys to denote the node and edge sections in the JSON text.
Contains string constants that are used as JSON keys to denote the node and edge sections in the JSON text.
An individual instance of this class may be passed to
Descriptor
if non-default section id's are to be used. - abstract class TypeId extends AnyRef
Value Members
- object Defaults
- object Descriptor
- object SectionKeys extends Serializable
- object StringNodeDescriptor extends NodeDescriptor[String]
Node descriptor extracting a String from any JValue and decomposing nodes of any type to a JString.
Node descriptor extracting a String from any JValue and decomposing nodes of any type to a JString. This object serves mainly test purposes.