package orm
- Alphabetic
- Public
- All
Type Members
- case class Alias(tableName: TableName, alias: String) extends Product with Serializable
- case class AliasAndFieldType[T](alias: Alias, fieldType: FieldType[T]) extends Product with Serializable
- case class AliasAndFieldTypes[Context, T](alias: Alias, fieldTypes: List[FieldType[_]])(implicit tx: ValueFromMultipleAliasFields[Context, T]) extends Product with Serializable
- trait ArrayAlias[F[_]] extends AnyRef
- case class ArrayAliasFromMap[S[_]](map: Map[String, Alias])(implicit evidence$1: SchemaMapKey[S]) extends ArrayAlias[S] with Product with Serializable
- case class BatchDetails(batchSize: Int, index: Int, whereForTable: WhereForTable) extends Product with Serializable
- sealed trait BulkDataPointer extends AnyRef
- trait ChildBulkDataPointer extends BulkDataPointer
- sealed trait ChildEntity extends OrmEntity
- trait ChildOrmBulkData[E] extends OrmBulkData[E]
- 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(alias: Alias, alias1: 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(alias: Alias, alias1: 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(alias: Alias, alias1: String, primaryKeyField: Keys, parentId: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends ChildEntity with Product with Serializable
-
case class
OneToZeroOneEntity(alias: Alias, alias1: 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[_]], objects: List[PartitionedSchema[Schema]], arrays: List[(Alias, 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(alias: Alias, alias1: 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 TableName(tableName: String, description: String) extends Product with Serializable
- trait ToAliasAndFieldTypes[Context, Schema[_]] extends AnyRef
- trait ToFieldType[T] extends AnyRef
- trait ToWritableForm[T] extends (T) ⇒ List[(OrmEntity, List[List[AnyRef]])]
- trait ValueFromMultipleAliasFields[Context, T] extends AnyRef
- trait WhereForTable extends SetParams[PreparedStatement]
- trait Write[T] extends AnyRef
- class WriteToJsonForSchema[Schema[_], Context] extends AnyRef
Value Members
- object Alias extends Serializable
- object AliasAndFieldType extends Serializable
- 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 NullWhereForTable extends WhereForTable 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 Table
- object ToFieldType
- object ValueFromMultipleAliasFields