overflowdb.schema

Type members

Classlikes

abstract class AbstractNodeType(val name: String, val comment: Option[String], val schemaInfo: SchemaInfo) extends HasClassName with HasProperties with HasSchemaInfo
case class AdjacentNode(viaEdge: EdgeType, neighbor: AbstractNodeType, cardinality: Cardinality, customStepName: Option[String], customStepDoc: Option[String])
class Constant[A](val name: String, val value: String, val valueType: ValueType[A], val comment: Option[String], val schemaInfo: SchemaInfo) extends HasOptionalProtoId with HasSchemaInfo
Companion:
object
object Constant
Companion:
class
case class ContainedNode(nodeType: AbstractNodeType, localName: String, cardinality: Cardinality, comment: Option[String])
object Direction extends Enumeration
class EdgeType(val name: String, val comment: Option[String], val schemaInfo: SchemaInfo) extends HasClassName with HasProperties with HasOptionalProtoId with HasSchemaInfo
Companion:
object
object EdgeType
Companion:
class
case class MarkerTrait(name: String)

An empty trait without any implementation, e.g. to mark a semantic relationship between certain types

An empty trait without any implementation, e.g. to mark a semantic relationship between certain types

case class NeighborInfoForEdge(edge: EdgeType, nodeInfos: Seq[NeighborInfoForNode], offsetPosition: Int)
case class NeighborInfoForNode(neighborNode: AbstractNodeType, edge: EdgeType, direction: Value, cardinality: Cardinality, isInherited: Boolean, customStepName: Option[String], customStepDoc: Option[String])
class NodeBaseType(name: String, comment: Option[String], schemaInfo: SchemaInfo) extends AbstractNodeType
class NodeType(name: String, comment: Option[String], schemaInfo: SchemaInfo) extends AbstractNodeType with HasOptionalProtoId
case class ProductElement(name: String, accessorSrc: String, index: Int)
class Property[A](val name: String, val valueType: ValueType[A], val comment: Option[String], val schemaInfo: SchemaInfo) extends HasClassName with HasOptionalProtoId with HasSchemaInfo
Companion:
object
object Property
Companion:
class
case class ProtoOptions(pkg: String, javaOuterClassname: String, javaPackage: String, goPackage: String, csharpNamespace: String, uncommonProtoEnumNameMappings: Map[String, String])
class Schema(val domainShortName: String, val basePackage: String, val additionalTraversalsPackages: Seq[String], val properties: Seq[Property[_]], val nodeBaseTypes: Seq[NodeBaseType], val nodeTypes: Seq[NodeType], val edgeTypes: Seq[EdgeType], val constantsByCategory: Map[String, Seq[Constant[_]]], val protoOptions: Option[ProtoOptions], val noWarnList: Set[(AbstractNodeType, Property[_])])
Value parameters:
additionalTraversalsPackages:

additional packages that contain your traversals - used for .help to find @Doc annotations via reflection

basePackage:

specific for your domain, e.g. com.example.mydomain

class SchemaBuilder(domainShortName: String, basePackage: String, additionalTraversalsPackages: Seq[String])
case class SchemaInfo(definedIn: Option[Class[_]])

carry extra information on where a schema element is being defined, e.g. when we want to be able to refer back that node XYZ was defined in BaseSchema, e.g. for documentation

carry extra information on where a schema element is being defined, e.g. when we want to be able to refer back that node XYZ was defined in BaseSchema, e.g. for documentation

Companion:
object
object SchemaInfo
Companion:
class