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(val name: String, val value: String, val valueType: ValueTypes, 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)
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 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 Params
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