Packages

package orm

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. case class AlwaysOne[T](children: List[T]) extends ChildrenInSchema[T] with Product with Serializable
  2. trait AsDebugString[T] extends AnyRef
  3. case class BatchDetails(batchSize: Int, index: Int) extends Product with Serializable
  4. trait BuildOrmEntity[OrmEntity] extends (List[FieldType[_]], List[ChildEntity]) ⇒ OrmEntity
  5. sealed trait ChildArity extends AnyRef
  6. sealed trait ChildEntity extends OrmEntity
  7. sealed abstract class ChildrenInSchema[T] extends AnyRef
  8. case class EntityAndFieldsAndPath[E <: OrmEntity](entity: E, fieldsAndPath: OrmGettersAndPath) extends Product with Serializable
  9. case class EntityAndPath[E <: OrmEntity](entity: E, paths: Array[List[Int]]) extends Product with Serializable
  10. case class EntityStrategy[X](mainEntityFn: (MainEntity) ⇒ X, childFn: (OrmEntity) ⇒ (ChildEntity) ⇒ X) extends Product with Serializable
  11. case class FanInOrmData[Context, T](t: T, name: String, idInParentData: GetKey, idForChild: GetKey, executeWhenMatch: (Context, T, List[Any]) ⇒ Context, data: Array[List[Any]], children: List[OrmData[Context]]) extends OrmData[Context] with Product with Serializable
  12. case class FanoutOrmData[Context, T](t: T, name: String, flyweightKey: FlyweightKey, executeWhenMatch: (Context, T, List[Any]) ⇒ Context, ar: Array[List[Any]], children: List[OrmData[Context]]) extends OrmData[Context] with Product with Serializable

    The data read from the database by ORM.

    The data read from the database by ORM. Later this should be replaceable by a cursor

    This is just for the 'numeric keys' story

    So important features:*

    • We need to process one to many tables and their children sensibly using the next mechanism
    • That means we will process all the things for my id, and then tell the children The data is sorted by id. Children are sorted by child Id Note that we need the id to by ordered... ANd that's awkward because we don't know how big the composible key is... suppose we have Keys1(a), Keys2(a,b), Keys3(a,b,c)... ah do we actually need the id or can we go flyweight?
  13. 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

  14. trait FastReader[T] extends (MainEntity) ⇒ (Int) ⇒ Stream[T]
  15. trait FastReaderDal extends AnyRef
  16. class FastReaderImpl[T] extends FastReader[T]
  17. case class FieldType[T](name: String, typeName: String, numericSort: Boolean)(implicit writeToJson: WriteToJson[T], getFromJson: GetFromJson[T], classTag: ClassTag[T]) extends Product with Serializable
  18. case class FieldTypeAndIndex[T](fieldType: FieldType[T], index: Int) extends Product with Serializable
  19. case class FieldsWord[OrmEntity](nameAndTypes: Seq[String])(implicit validateAndBuild: BuildOrmEntity[OrmEntity]) extends OrmDslClass with Product with Serializable
  20. trait FindOrmEntityAndField[Schema] extends (Schema) ⇒ List[OrmValueGetter[_]]

    For example a single item in the schema might be in several places in the database (a key/a foreign key).

    For example a single item in the schema might be in several places in the database (a key/a foreign key). That item might be represented by multiple fields (e.g. a composite string, or a date where the date is stored in multiple fields_

  21. trait FlyweightKey extends Comparator[List[Any]]
  22. class GetKey extends (List[Any]) ⇒ Any
  23. case class Key2(key1: FlyweightKey, key2: FlyweightKey) extends FlyweightKey with Product with Serializable
  24. case class KeyInt(leftIndex: Int, rightIndex: Int) extends FlyweightKey with Product with Serializable
  25. case class KeyString(leftIndex: Int, rightIndex: Int) extends FlyweightKey with Product with Serializable
  26. case class Keys(list: List[FieldType[_]]) extends Product with Serializable
  27. case class KeysAndIndex(list: List[(Int, FieldType[_])]) extends Product with Serializable
  28. case class MainEntity(tableName: TableName, alias: String, primaryKeyField: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends OrmEntity with Product with Serializable
  29. case class MainOrmData[Context, T](t: T, name: String, contextMaker: () ⇒ Context, executeWhenMatch: (Context, T, List[Any]) ⇒ Context, ar: Array[List[Any]], children: List[OrmData[Context]]) extends Product with Serializable
  30. 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

  31. case class NumericKey[T](path: List[Int], index: Int, key: String, arity: ChildArity, children: NumericKeys[T], t: T) extends Product with Serializable
  32. class NumericKeyPopulator[T] extends (Array[Any], OrmEntity, List[Any]) ⇒ Array[Any]
  33. case class NumericKeys[Schema](list: List[NumericKey[Schema]]) extends Product with Serializable
  34. case class OneToManyEntity(tableName: TableName, alias: String, primaryKeyField: Keys, parentId: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends ChildEntity with Product with Serializable
  35. 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

  36. case class OrmBatchConfig(dataSource: DataSource, batchSize: Int) extends Product with Serializable
  37. trait OrmData[Context] extends AnyRef
  38. trait OrmDataFactory[MainT, T] extends AnyRef
  39. class OrmDataFactoryForMainEntity extends OrmDataFactory[MainEntity, OrmEntity]
  40. trait OrmDslClass extends AnyRef
  41. trait OrmEntity extends AnyRef
  42. trait OrmFactory extends AnyRef
  43. class OrmFactoryImpl[Schema] extends OrmFactory
  44. case class OrmGettersAndPath(ormValueGetters: Array[OrmValueGetter[_]], path: Array[Array[Int]], indicies: Array[Int]) extends Product with Serializable

    the orm getter is 'given this data from the database table what is the result.

    the orm getter is 'given this data from the database table what is the result. Path and index and where to put the result when we get it

  45. case class OrmGettersForThisRowAndPath(ormValueGetters: Array[OrmValueGetterForARow[_]], path: Array[Array[Int]], indicies: Array[Int]) extends Product with Serializable
  46. trait OrmMaker[T] extends (MainEntity) ⇒ (Map[OrmEntity, List[List[AnyRef]]]) ⇒ Stream[T]
  47. class OrmMakerForArrayAny[Schema] extends OrmMaker[Array[Any]]
  48. class OrmMakerForArrayAnyUsingOrmData[Schema] extends OrmMaker[Array[Any]]
  49. trait OrmStrategies extends AnyRef
  50. case class OrmValueGetter[T](tableName: TableName, fieldTypes: List[FieldType[_]])(implicit tx: OrmValueTransformer[T]) extends Product with Serializable
  51. case class OrmValueGetterForARow[T](tableName: TableName, fieldTypes: Array[FieldTypeAndIndex[_]], tx: OrmValueTransformer[T]) extends Product with Serializable
  52. trait OrmValueTransformer[T] extends (Array[FieldTypeAndIndex[_]], Array[Any]) ⇒ Any
  53. case class SameIdEntity(tableName: TableName, alias: String, primaryKeyField: Keys, dataFields: List[FieldType[_]], children: List[ChildEntity]) extends SingleChild with Product with Serializable
  54. trait SchemaMapKey[Schema] extends AnyRef
  55. trait SingleChild extends ChildEntity
  56. class StreamArrayAnyForOneEntity[T] extends (Map[OrmEntity, List[List[AnyRef]]]) ⇒ Stream[Array[Any]]
  57. class StreamArrayAnyForOneEntity2[T] extends (Map[OrmEntity, List[List[AnyRef]]]) ⇒ Stream[Array[Any]]
  58. case class TableAndField(tableName: TableName, fieldName: String) extends Product with Serializable
  59. case class TableName(tableName: String, description: String) extends Product with Serializable
  60. case class TablesAndFieldsAndPaths(map: Map[TableName, OrmGettersAndPath]) extends Product with Serializable
  61. trait ToFieldType[T] extends AnyRef
  62. trait ToWritableForm[T] extends (T) ⇒ List[(OrmEntity, List[List[AnyRef]])]
  63. trait Write[T] extends AnyRef
  64. class WriteOrm extends AnyRef
  65. case class Zero[T]() extends ChildrenInSchema[T] with Product with Serializable
  66. case class ZeroOrMore[T](children: List[T]) extends ChildrenInSchema[T] with Product with Serializable
  67. case class manyToOne(tableName: TableName, primaryKeyDefn: String, aliasOverride: String = "") extends ormDslTable[ManyToOneEntity] with Product with Serializable
  68. case class oneToMany(tableName: TableName, primaryKeyDefn: String, aliasOverride: String = "") extends ormDslTable[OneToManyEntity] with Product with Serializable
  69. case class orm(tableName: TableName, primaryKeyDefn: String, aliasOverride: String = "") extends ormDslTable[MainEntity] with Product with Serializable
  70. abstract class ormDslTable[OrmEntity] extends OrmDslClass
  71. case class sameId(tableName: TableName, primaryKeyDefn: String, aliasOverride: String = "") extends ormDslTable[SameIdEntity] with Product with Serializable

Value Members

  1. object AsDebugString
  2. object ChildArity
  3. object ChildEntity
  4. object EntityAndPath extends Serializable
  5. object EntityStrategy extends Serializable
  6. object FastOrmSql
  7. object FastReader
  8. object FastReaderDal
  9. object FieldType extends Serializable
  10. object FlyweightKey
  11. object Keys extends Serializable
  12. object ManyChildren extends ChildArity with Product with Serializable
  13. object NoChildren extends ChildArity with Product with Serializable
  14. object NumericKeys extends Serializable
  15. object OneChild extends ChildArity with Product with Serializable
  16. object OrmData
  17. object OrmMaker
  18. object OrmStrategies extends OrmStrategies

    This applies the sql defined in FastOrmSql to the entities in a composite entity

  19. object OrmValueTransformer
  20. object TableAndField extends Serializable
  21. object ToFieldType

Ungrouped