package orm
- Alphabetic
- Public
- All
Type Members
- case class AlwaysOne[Schema[_]](children: List[Schema[_]]) extends ChildrenInSchema[Schema] with Product with Serializable
- case class BatchDetails(batchSize: Int, index: Int, whereForTable: WhereForTable) extends Product with Serializable
- sealed trait BulkDataPointer extends AnyRef
- sealed trait ChildArity extends AnyRef
- trait ChildBulkDataPointer extends BulkDataPointer
- sealed trait ChildEntity extends OrmEntity
- trait ChildOrmBulkData[E] extends OrmBulkData[E]
- sealed abstract class ChildrenInSchema[Schema[_]] extends AnyRef
- case class EntityStrategy[X](mainEntityFn: (MainEntity) ⇒ X, childFn: (OrmEntity) ⇒ (ChildEntity) ⇒ X) extends Product with Serializable
-
trait
FastOrmSql extends AnyRef
This is the layer of abstraction that needs to be rewritten for different databases.
This is the layer of abstraction that needs to be rewritten for different databases. It's just a block of sql for each operation
- trait FastReader[T] extends (MainEntity) ⇒ (Int) ⇒ Stream[T]
- trait FastReaderDal extends AnyRef
- class FastReaderImpl[T] extends FastReader[T]
- trait FieldFilter[F[_]] extends AnyRef
- case class FieldType[T](name: String, typeName: String, numericSort: Boolean)(implicit writeToJson: WriteToJson[T], getFromJson: GetFromJson[T], classTag: ClassTag[T]) extends Product with Serializable
- case class FieldTypeAndIndex[T](fieldType: FieldType[T], index: Int) extends Product with Serializable
- trait FieldTypeToIndex extends AnyRef
- case class FoundChildBulkDataPointer(nth: Int, indexIntoBulkData: Int, parentId: Any, bulkData: ChildOrmBulkData[_], children: List[ChildBulkDataPointer]) extends ChildBulkDataPointer with Product with Serializable
- class GetKey extends (List[Any]) ⇒ Any
- case class IDWhereForTable[ID](idField: FieldType[ID], id: ID) extends WhereForTable with Product with Serializable
- trait IsLinkFieldFilter[F[_]] extends FieldFilter[F]
- trait IsObjectFieldFilter[F[_]] extends FieldFilter[F]
- trait IsSimpleFieldFilter[F[_]] extends FieldFilter[F]
- trait JsonToStream[Context, F[_], T] extends AnyRef
- trait JsonToStreamFor[Context, Schema[_]] extends AnyRef
- case class Keys(list: List[FieldType[_]]) extends Product with Serializable
- case class KeysAndIndex(list: List[(Int, FieldType[_])]) extends Product with Serializable
- case class MainBulkData(ormEntity: MainEntity, tableNameToData: Map[String, List[List[Any]]], children: List[ChildOrmBulkData[_]]) extends OrmBulkData[MainEntity] with Product with Serializable
- case class MainBulkDataPointer(nth: Int, bulkData: OrmBulkData[_], children: List[ChildBulkDataPointer]) extends BulkDataPointer with Product with Serializable
- case class MainEntity(tableName: TableName, alias: String, primaryKeyField: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends OrmEntity with Product with Serializable
- case class ManyToOneBulkData(parentEntity: OrmEntity, ormEntity: ManyToOneEntity, tableNameToData: Map[String, List[List[Any]]], children: List[ChildOrmBulkData[_]]) extends ChildOrmBulkData[ManyToOneEntity] with Product with Serializable
-
case class
ManyToOneEntity(tableName: TableName, alias: String, primaryKeyField: Keys, idInParent: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends SingleChild with Product with Serializable
this is typically a look up reference.
this is typically a look up reference. It is very similar to 'oneToZeroOneEntity' except that many of the parent are likely to share the same value. Thus it won't be in sync
- case class NullBulkDataPointer(bulkData: ChildOrmBulkData[_], children: List[ChildBulkDataPointer]) extends ChildBulkDataPointer with Product with Serializable
- case class OneToManyBulkData(parentEntity: OrmEntity, ormEntity: OneToManyEntity, tableNameToData: Map[String, List[List[Any]]], children: List[ChildOrmBulkData[_]]) extends ChildOrmBulkData[OneToManyEntity] with Product with Serializable
- case class OneToManyEntity(tableName: TableName, alias: String, primaryKeyField: Keys, parentId: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends ChildEntity with Product with Serializable
-
case class
OneToZeroOneEntity(tableName: TableName, alias: String, primaryKeyField: Keys, idInParent: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends SingleChild with Product with Serializable
This will have zero or one entries for each item in the parent.
This will have zero or one entries for each item in the parent. It will be in 'step' with it... allowing cursors to advance together
- case class OrmBatchConfig(dataSource: DataSource, batchSize: Int, whereForTable: WhereForTable = NullWhereForTable) extends Product with Serializable
- trait OrmBulkData[E] extends AnyRef
- trait OrmEntity extends FieldTypeToIndex
- trait OrmFactory[Schema[_]] extends AnyRef
- class OrmFactoryImpl[Context, Schema[_]] extends OrmFactory[Schema]
- trait OrmMaker[T] extends (MainEntity) ⇒ (Map[OrmEntity, List[List[AnyRef]]]) ⇒ Stream[T]
- trait OrmStrategies extends AnyRef
- case class PartitionedSchema[Schema[_]](key: String, links: List[Schema[_]], simple: List[Schema[_]], singleChildObjects: List[PartitionedSchema[Schema]], manyChildObjects: List[(TableName, PartitionedSchema[Schema])]) extends Product with Serializable
- trait Placeholder extends AnyRef
- case class SameIdBulkData(ormEntity: SameIdEntity, tableNameToData: Map[String, List[List[Any]]], children: List[ChildOrmBulkData[_]]) extends ChildOrmBulkData[SameIdEntity] with Product with Serializable
- case class SameIdEntity(tableName: TableName, alias: String, primaryKeyField: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends SingleChild with Product with Serializable
-
trait
SchemaMapKey[Schema[_]] extends AnyRef
THere is a schema of type Schema.
THere is a schema of type Schema. Schema is not the data, is the structure of the data
The type parameter is the type of the data in the field that the schema is pointing to. This is used for things like 'getting from database' and 'putting in json'.
Because schemas hold other schemas, and I am not sure how to handle the schema object itself from a [T] perspective there is a fake T called Placeholder.
- trait SingleChild extends ChildEntity
- case class TableAndFieldType[T](tableName: TableName, fieldType: FieldType[T]) extends Product with Serializable
- case class TableAndFieldTypes[Context, T](tableName: TableName, fieldTypes: List[FieldType[_]])(implicit tx: ValueFromMultipleTableFields[Context, T]) extends Product with Serializable
- case class TableName(tableName: String, description: String) extends Product with Serializable
- trait TableNameForManySchema[Schema[_]] extends AnyRef
- trait ToFieldType[T] extends AnyRef
- trait ToTableAndFieldTypes[Context, Schema[_]] extends AnyRef
- trait ToWritableForm[T] extends (T) ⇒ List[(OrmEntity, List[List[AnyRef]])]
- trait ValueFromMultipleTableFields[Context, T] extends AnyRef
- trait WhereForTable extends SetParams[PreparedStatement]
- trait Write[T] extends AnyRef
- class WriteToJsonForSchema[Schema[_], Context] extends AnyRef
- case class Zero[Schema[_]]() extends ChildrenInSchema[Schema] with Product with Serializable
- case class ZeroOrMore[Schema[_]](children: List[Schema[_]]) extends ChildrenInSchema[Schema] with Product with Serializable
Value Members
- object BulkDataPointer
- object EntityStrategy extends Serializable
- object FastOrmSql
- object FastReader
- object FastReaderDal
- object FieldType extends Serializable
- object IsObjectFieldFilter
- object IsSimpleFieldFilter
- object JsonToStream
- object Keys extends Serializable
- object MainBulkData extends Serializable
- object ManyChildren extends ChildArity with Product with Serializable
- object NoChildren extends ChildArity with Product with Serializable
- object NullWhereForTable extends WhereForTable with Product with Serializable
- object OneChild extends ChildArity with Product with Serializable
- object OrmFactory
- object OrmMaker
-
object
OrmStrategies extends OrmStrategies
This applies the sql defined in FastOrmSql to the entities in a composite entity
- object PartitionedSchema extends Serializable
- object SchemaMapKey
- object TableAndFieldType extends Serializable
- object TableNameForManySchema
- object ToFieldType
- object ValueFromMultipleTableFields