File tree Expand file tree Collapse file tree 1 file changed +32
-4
lines changed
src/main/scala/com/bio4j/dynamograph/model/go Expand file tree Collapse file tree 1 file changed +32
-4
lines changed Original file line number Diff line number Diff line change @@ -14,18 +14,46 @@ import ohnosequences.scarph.AnySealedVertexType
1414
1515object TableGoSchema {
1616
17+ trait AnyVertexTable { vertexTable =>
18+
19+ type VertexTpe <: Singleton with AnySealedVertexType
20+ val vt : VertexTpe
21+
22+ type Region <: AnyRegion
23+ val region : Region
24+
25+ type Table <: AnyHashKeyTable { type Region = vertexTable.Region }
26+ val table : Table
27+
28+ // provided implicitly at construction
29+ val recordValuesAreOK : everyElementOf[VertexTpe # Record # Values ]# isOneOf[ValidValues ]
30+
31+ type VertexItem <: AnyItem .ofTable[Table ] with AnyItem { type Record = VertexTpe # Record }
32+ val vertexItem : VertexItem
33+ }
1734
1835 class VertexTable [
19- VT <: AnySealedVertexType ,
36+ VT <: Singleton with AnySealedVertexType ,
2037 R <: AnyRegion
2138 ](
2239 val vt : VT ,
2340 val tableName : String ,
2441 val region : R
25- ){
26- case object table extends HashKeyTable (tableName, id, region)
42+ )(
43+ implicit val recordValuesAreOK : everyElementOf[VT # Record # Values ]# isOneOf[ValidValues ]
44+ )
45+ extends AnyVertexTable {
46+
2747 type VertexTpe = VT
28- case object vertexItem extends Item (table, vt.record)
48+ type Region = R
49+
50+ type Table = Table .type
51+ val table = Table
52+ case object Table extends HashKeyTable (tableName, id, region)
53+
54+ type VertexItem = VertexItem .type
55+ val vertexItem = VertexItem
56+ case object VertexItem extends Item [Table , VertexTpe # Record ](table, vt.record)
2957 }
3058
3159
You can’t perform that action at this time.
0 commit comments