overflowdb.schema
package 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
case
class ContainedNode(nodeType: AbstractNodeType, localName: String, cardinality: Cardinality, comment: Option[String])
class EdgeType(val name: String, val comment: Option[String], val schemaInfo: SchemaInfo) extends HasClassName with HasProperties with HasOptionalProtoId with HasSchemaInfo
- Companion
- object
case
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 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
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
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
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