net.liftweb.couchdb

CouchMetaRecord

trait CouchMetaRecord [BaseRecord <: CouchRecord[BaseRecord]] extends JSONMetaRecord[BaseRecord]

Base trait of meta records for records that can be stored in CouchDB

linear super types: JSONMetaRecord[BaseRecord], MetaRecord[BaseRecord], AnyRef, Any
self type: CouchMetaRecord[BaseRecord] with BaseRecord
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. CouchMetaRecord
  2. JSONMetaRecord
  3. MetaRecord
  4. AnyRef
  5. Any
Visibility
  1. Public
  2. All
Impl.
  1. Concrete
  2. Abstract

Type Members

  1. case class FieldHolder (name: String, method: Method, metaField: net.liftweb.record.Field[_, BaseRecord]) extends Product

Value Members

  1. def != (arg0: AnyRef) : Boolean

    attributes: final
    definition classes: AnyRef
  2. def != (arg0: Any) : Boolean

    o != arg0 is the same as !(o == (arg0)).

    o != arg0 is the same as !(o == (arg0)).

    arg0

    the object to compare against this object for dis-equality.

    returns

    false if the receiver object is equivalent to the argument; true otherwise.

    attributes: final
    definition classes: Any
  3. def ## () : Int

    attributes: final
    definition classes: AnyRef → Any
  4. def $asInstanceOf [T0] () : T0

    attributes: final
    definition classes: AnyRef
  5. def $isInstanceOf [T0] () : Boolean

    attributes: final
    definition classes: AnyRef
  6. def == (arg0: AnyRef) : Boolean

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    o == arg0 is the same as if (o eq null) arg0 eq null else o.equals(arg0).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    attributes: final
    definition classes: AnyRef
  7. def == (arg0: Any) : Boolean

    o == arg0 is the same as o.equals(arg0).

    o == arg0 is the same as o.equals(arg0).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    attributes: final
    definition classes: Any
  8. def all (filter: (AllDocs) ⇒ AllDocs) : Box[Seq[BaseRecord]]

    Query records from the default database by document id.

    Query records from the default database by document id. includeDocs is always on for this type of query. Filter refines the query (e.g. by key), see Queryable. Note that this is probably not very useful, as there is no way to constrain the documents retrieved by type

  9. def allIn (database: Database, filter: (AllDocs) ⇒ AllDocs) : Box[Seq[BaseRecord]]

    Query records from the given database by document id.

    Query records from the given database by document id. includeDocs is always on for this type of query. Filter refines the query (e.g. by key), see Queryable. Note that this is probably not very useful, as there is no way to constrain the documents retrieved by type

  10. def appendDispatch (func: PartialFunction[Req, (BaseRecord) ⇒ Box[LiftResponse]]) : RulesSeq[DispatchPF]

    Append a DispatchPF function to LiftRules.

    Append a DispatchPF function to LiftRules.dispatch. If the partial function id defined for a give Req it will construct a new Record based on the HTTP query string parameters and will pass this Record to the function returned by func parameter.

    func

    - a PartialFunction for associating a request with a user provided function and the proper Record

    definition classes: MetaRecord
  11. def asInstanceOf [T0] : T0

    This method is used to cast the receiver object to be of type T0.

    This method is used to cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expressionList(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    the receiver object.

    attributes: final
    definition classes: Any
  12. def asJSON (inst: BaseRecord) : JsObj

    Returns the JSON representation of inst record

    Returns the JSON representation of inst record

    returns

    JsObj

    definition classes: JSONMetaRecordMetaRecord
  13. def asJValue (rec: BaseRecord) : JObject

    Encode a record instance into a JValue

    Encode a record instance into a JValue

    definition classes: JSONMetaRecordMetaRecord
  14. def asJsExp (inst: BaseRecord) : JsExp

    Retuns the JSON representation of inst record, converts asJValue to JsObj

    Retuns the JSON representation of inst record, converts asJValue to JsObj

    returns

    a JsObj

    definition classes: MetaRecord
  15. def clone () : AnyRef

    This method creates and returns a copy of the receiver object.

    This method creates and returns a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    attributes: protected
    definition classes: AnyRef
  16. def createRecord : BaseRecord

    Creates a new record

    Creates a new record

    definition classes: MetaRecord
  17. def createWithMutableField [FieldType] (original: BaseRecord, field: Field[FieldType, BaseRecord], newValue: Box[FieldType]) : BaseRecord

    Creates a new record setting the value of the fields from the original object but apply the new value for the specific field

    Creates a new record setting the value of the fields from the original object but apply the new value for the specific field

    definition classes: MetaRecord
  18. def defaultDatabase : Database

    Get the default Database to use, if the record's calculateDatabase function does not provide one.

    Get the default Database to use, if the record's calculateDatabase function does not provide one. Defaults to CouchDB.defaultDatabase

  19. def delete_! (inst: BaseRecord) : Box[Unit]

    Delete the instance from the backing store.

    Delete the instance from the backing store. Only works if the instance is the current revision in the database.

  20. def eq (arg0: AnyRef) : Boolean

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    This method is used to test whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation] on non-null instances of AnyRef: * It is reflexive: for any non-null instance x of type AnyRef, x.eq(x) returns true. * It is symmetric: for any non-null instances x and y of type AnyRef, x.eq(y) returns true if and only if y.eq(x) returns true. * It is transitive: for any non-null instances x, y, and z of type AnyRef if x.eq(y) returns true and y.eq(z) returns true, then x.eq(z) returns true.

    Additionally, the eq method has three other properties. * It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false. * For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false. * null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    arg0

    the object to compare against this object for reference equality.

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    attributes: final
    definition classes: AnyRef
  21. def equals (arg0: Any) : Boolean

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    This method is used to compare the receiver object (this) with the argument object (arg0) for equivalence.

    The default implementations of this method is an [http://en.wikipedia.org/wiki/Equivalence_relation equivalence relation]: * It is reflexive: for any instance x of type Any, x.equals(x) should return true. * It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true. * It is transitive: for any instances x, y, and z of type AnyRef if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

    If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is often necessary to override hashCode to ensure that objects that are "equal" (o1.equals(o2) returns true) hash to the same scala.Int (o1.hashCode.equals(o2.hashCode)).

    arg0

    the object to compare against this object for equality.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    definition classes: AnyRef → Any
  22. def fetch (id: String) : Box[BaseRecord]

    Query a single document by _id from the default database

    Query a single document by _id from the default database

  23. def fetchFrom (database: Database, id: String) : Box[BaseRecord]

    Query a single document by _id from the given database

    Query a single document by _id from the given database

  24. def fetchMany (ids: String*) : Box[Seq[BaseRecord]]

    Query a series of documents by _id from the default database

    Query a series of documents by _id from the default database

  25. def fetchManyFrom (database: Database, ids: String*) : Box[Seq[BaseRecord]]

    Query a series of documents by _id from the given database

    Query a series of documents by _id from the given database

  26. def fieldByName (fieldName: String, inst: BaseRecord) : Box[net.liftweb.record.Field[_, BaseRecord]]

    Get a field by the field name

    Get a field by the field name

    fieldName

    -- the name of the field to get

    returns

    Box[The Field] (Empty if the field is not found)

    definition classes: MetaRecord
  27. def fieldOrder : List[net.liftweb.record.Field[_, BaseRecord]]

    Defined the order of the fields in this record

    Defined the order of the fields in this record

    returns

    a List of Field

    definition classes: MetaRecord
  28. def fields (rec: BaseRecord) : List[net.liftweb.record.Field[_, BaseRecord]]

    Obtain the fields for a particlar Record or subclass instance by passing the instance itself.

    Obtain the fields for a particlar Record or subclass instance by passing the instance itself. (added 14th August 2009, Tim Perrett)

    definition classes: MetaRecord
  29. def finalize () : Unit

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.

    This method is called by the garbage collector on the receiver object when garbage collection determines that there are no more references to the object.

    The details of when and if the finalize method are invoked, as well as the interaction between finalizeand non-local returns and exceptions, are all platform dependent.

    attributes: protected
    definition classes: AnyRef
  30. def foreachCallback (inst: BaseRecord, f: (LifecycleCallbacks) ⇒ Any) : Unit

    attributes: protected
    definition classes: MetaRecord
  31. var formTemplate : Box[NodeSeq]

    Set this to use your own form template when rendering a Record to a form.

    Set this to use your own form template when rendering a Record to a form.

    This template is any given XHtml that contains three nodes acting as placeholders such as:

    &lt;lift:field_label name="firstName"/&gt; - the label for firstName field will be rendered here &lt;lift:field name="firstName"/&gt; - the firstName field will be rendered here (typically an input field) &lt;lift:field_msg name="firstName"/&gt; - the <lift:msg> will be rendered here hafing the id given by uniqueFieldId of the firstName field.

    Example.

    Having:

    class MyRecord extends Record[MyRecord] {

    def meta = MyRecordMeta

    object firstName extends StringField(this, "John")

    }

    object MyRecordMeta extends MyRecord with MetaRecord[MyRecord] { override def mutable_? = false }

    ...

    val rec = MyRecordMeta.createRecord.firstName("McLoud")

    val template = &lt;div&gt; &lt;div&gt; &lt;div&gt;&lt;lift:field_label name="firstName"/&gt;&lt;/div&gt; &lt;div&gt;&lt;lift:field name="firstName"/&gt;&lt;/div&gt; &lt;div&gt;&lt;lift:field_msg name="firstName"/&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;

    MyRecordMeta.formTemplate = Full(template) rec.toForm((r:MyRecord) => println(r));

    definition classes: MetaRecord
  32. def fromJSON (json: String) : Box[BaseRecord]

    Create a record with fields populated with values from the JSON construct

    Create a record with fields populated with values from the JSON construct

    json

    - The stringified JSON object

    returns

    Box[BaseRecord]

    definition classes: MetaRecord
  33. def fromJValue (jvalue: JValue) : Box[BaseRecord]

    Create a record by decoding a JValue which must be a JObject

    Create a record by decoding a JValue which must be a JObject

    definition classes: MetaRecord
  34. def fromJsonString (json: String) : Box[BaseRecord]

    Create a record with fields populated with values from the JSON construct

    Create a record with fields populated with values from the JSON construct

    json

    - The stringified JSON object

    returns

    Box[BaseRecord]

    definition classes: MetaRecord
  35. def fromReq (r: Req) : BaseRecord

    Create a record with fields populated with values from the request

    Create a record with fields populated with values from the request

    returns

    the created record

    definition classes: MetaRecord
  36. def getClass () : java.lang.Class[_]

    Returns a representation that corresponds to the dynamic class of the receiver object.

    Returns a representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    attributes: final
    definition classes: AnyRef
  37. def hashCode () : Int

    Returns a hash code value for the object.

    Returns a hash code value for the object.

    The default hashing algorithm is platform dependent.

    Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

    returns

    the hash code value for the object.

    definition classes: AnyRef → Any
  38. def http : Http

    Get an Http instance to use when accessing CouchDB

    Get an Http instance to use when accessing CouchDB

  39. def ignoreExtraJSONFields : Boolean

    Whether or not extra fields in a JObject to decode is an error (false) or not (true).

    Whether or not extra fields in a JObject to decode is an error (false) or not (true). The default is true

    definition classes: JSONMetaRecord
  40. def instantiateRecord : BaseRecord

    Make a new record instance.

    Make a new record instance. This method can be overridden to provide caching behavior or what have you.

    attributes: protected
    definition classes: MetaRecord
  41. def introspect (rec: BaseRecord, methods: Array[Method])(f: (Method, net.liftweb.record.Field[_, BaseRecord]) ⇒ Any) : Unit

    definition classes: MetaRecord
  42. def isInstanceOf [T0] : Boolean

    This method is used to test whether the dynamic type of the receiver object is T0.

    This method is used to test whether the dynamic type of the receiver object is T0.

    Note that the test result of the test is modulo Scala's erasure semantics. Therefore the expression1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested typed.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    attributes: final
    definition classes: Any
  43. def jsonName (field: net.liftweb.record.Field[_, BaseRecord]) : String

    Return the name of the field in the encoded JSON object.

    Return the name of the field in the encoded JSON object. If the field implements JSONField and has overridden jsonName then that will be used, otherwise the record field name

    definition classes: JSONMetaRecord
  44. def looseParsing [A] (f: ⇒ A) : A

    Perform the given action with loose parsing turned on

    Perform the given action with loose parsing turned on

  45. def metaFields () : List[net.liftweb.record.Field[_, BaseRecord]]

    Renamed from fields() due to a clash with fields() in Record.

    Renamed from fields() due to a clash with fields() in Record. Use this method to obtain a list of fields defined in the meta companion objects. Possibly a breaking change? (added 14th August 2009, Tim Perrett)

    definition classes: MetaRecord
      see also:
    1. Record

  46. def mutable_? : Boolean

    Specifies if this Record is mutable or not

    Specifies if this Record is mutable or not

    definition classes: MetaRecord
  47. def ne (arg0: AnyRef) : Boolean

    o.ne(arg0) is the same as !(o.eq(arg0)).

    o.ne(arg0) is the same as !(o.eq(arg0)).

    arg0

    the object to compare against this object for reference dis-equality.

    returns

    false if the argument is not a reference to the receiver object; true otherwise.

    attributes: final
    definition classes: AnyRef
  48. def needAllJSONFields : Boolean

    Whether or not missing fields in a JObject to decode is an error (false) or not (true).

    Whether or not missing fields in a JObject to decode is an error (false) or not (true). The default is true

    definition classes: JSONMetaRecord
  49. def notify () : Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    attributes: final
    definition classes: AnyRef
  50. def notifyAll () : Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    attributes: final
    definition classes: AnyRef
  51. def prependDispatch (func: PartialFunction[Req, (BaseRecord) ⇒ Box[LiftResponse]]) : RulesSeq[DispatchPF]

    Prepend a DispatchPF function to LiftRules.

    Prepend a DispatchPF function to LiftRules.dispatch. If the partial function id defined for a give Req it will construct a new Record based on the HTTP query string parameters and will pass this Record to the function returned by func parameter.

    func

    - a PartialFunction for associating a request with a user provided function and the proper Record

    definition classes: MetaRecord
  52. def queryView (design: String, view: String, filter: (View) ⇒ View) : Box[Seq[BaseRecord]]

    Query using a view in the default database.

    Query using a view in the default database. Filter refines the query (e.g. by key), see Queryable.

  53. def queryView (design: String, view: String) : Box[Seq[BaseRecord]]

    Query using a view in the default database.

    Query using a view in the default database.

  54. def queryViewDocs (design: String, view: String, filter: (View) ⇒ View) : Box[Seq[BaseRecord]]

    Query using a view in the default database, returning records created from the documents returned with the view.

    Query using a view in the default database, returning records created from the documents returned with the view. If used against a reduce view, make sure to use dontReduce in the filter, otherwise CouchDB will signal an error. Filter refines the query (e.g. by key), see Queryable. includeDocs are always on for this type of query.

  55. def queryViewDocs (design: String, view: String) : Box[Seq[BaseRecord]]

    Query using a view in the default database, returning records created from the documents returned with the view.

    Query using a view in the default database, returning records created from the documents returned with the view. If used against a reduce view, make sure to use dontReduce in the filter, otherwise CouchDB will signal an error. includeDocs are always on for this type of query.

  56. def queryViewDocsFrom (database: Database, design: String, view: String, filter: (View) ⇒ View) : Box[Seq[BaseRecord]]

    Query using a view in the given database, returning records created from the documents returned with the view.

    Query using a view in the given database, returning records created from the documents returned with the view. If used against a reduce view, make sure to use dontReduce in the filter, otherwise CouchDB will signal an error. Filter refines the query (e.g. by key), see Queryable. includeDocs are always on for this type of query.

  57. def queryViewFrom (database: Database, design: String, view: String, filter: (View) ⇒ View) : Box[Seq[BaseRecord]]

    Query using a view in the given database.

    Query using a view in the given database. Filter refines the query (e.g. by key), see Queryable.

  58. def queryViewProjection (design: String, view: String, filter: (View) ⇒ View, project: (QueryRow) ⇒ Box[JValue]) : Box[Seq[BaseRecord]]

    Query using a view in the default database, using some projection function that converts each QueryRow into a JSON document to read as the record.

    Query using a view in the default database, using some projection function that converts each QueryRow into a JSON document to read as the record. Filter refines the query (e.g. by key), see Queryable.

  59. def queryViewProjection (design: String, view: String, project: (QueryRow) ⇒ Box[JValue]) : Box[Seq[BaseRecord]]

    Query using a view in the default database, using some projection function that converts each QueryRow into a JSON document to read as the record.

    Query using a view in the default database, using some projection function that converts each QueryRow into a JSON document to read as the record.

  60. def queryViewProjectionFrom (database: Database, design: String, view: String, filter: (View) ⇒ View, project: (QueryRow) ⇒ Box[JValue]) : Box[Seq[BaseRecord]]

    Query using a view in the given database, using some projection function that converts each QueryRow into a JSON document to read as the record.

    Query using a view in the given database, using some projection function that converts each QueryRow into a JSON document to read as the record.

  61. val rootClass : java.lang.Class[_ >: ?0]

    attributes: protected
    definition classes: MetaRecord
  62. def save (inst: BaseRecord) : Box[Unit]

    Save the record instance in the backing store

    Save the record instance in the backing store

  63. def saved_? (inst: BaseRecord) : Boolean

    Was the record instance saved in the backing store?

    Was the record instance saved in the backing store?

  64. def setFieldsFromJSON (inst: BaseRecord, json: String) : Box[Unit]

    Populate the fields of the record instance with values from the JSON construct

    Populate the fields of the record instance with values from the JSON construct

    inst

    - The record to populate

    json

    - The stringified JSON object

    returns

    - Full(()) on success, other on failure

    definition classes: JSONMetaRecordMetaRecord
  65. def setFieldsFromJValue (rec: BaseRecord, jvalue: JValue) : Box[Unit]

    Attempt to decode a JValue, which must be a JObject, into a record instance

    Attempt to decode a JValue, which must be a JObject, into a record instance

    definition classes: JSONMetaRecordMetaRecord
  66. def setFieldsFromJsonString (inst: BaseRecord, json: String) : Box[Unit]

    Set from a Json String using the lift-json parser *

    Set from a Json String using the lift-json parser *

    definition classes: MetaRecord
  67. def setFieldsFromReq (inst: BaseRecord, req: Req) : Unit

    Populate the fields of the record with values from the request

    Populate the fields of the record with values from the request

    inst

    - The record to populate

    req

    - The Req to read from

    definition classes: MetaRecord
  68. def synchronized [T0] (arg0: T0) : T0

    attributes: final
    definition classes: AnyRef
  69. def toForm (inst: BaseRecord, template: NodeSeq) : NodeSeq

    Returns the XHTML representation of inst Record.

    Returns the XHTML representation of inst Record. You must provide the Node template to represent this record in the proprietary layout.

    inst

    - the record to be rendered

    template

    - The markup template forthe form. See also the formTemplate variable

    returns

    the XHTML content as a NodeSeq

    definition classes: MetaRecord
  70. def toForm (inst: BaseRecord) : NodeSeq

    Returns the XHTML representation of inst Record.

    Returns the XHTML representation of inst Record. If formTemplate is set, this template will be used otherwise a default template is considered.

    inst

    - the record to be rendered

    returns

    the XHTML content as a NodeSeq

    definition classes: MetaRecord
  71. def toString () : String

    Returns a string representation of the object.

    Returns a string representation of the object.

    The default representation is platform dependent.

    returns

    a string representation of the object.

    definition classes: AnyRef → Any
  72. def toXHtml (inst: BaseRecord) : NodeSeq

    Returns the HTML representation of inst Record.

    Returns the HTML representation of inst Record.

    inst

    - th designated Record

    returns

    a NodeSeq

    definition classes: MetaRecord
  73. def validate (inst: BaseRecord) : List[FieldError]

    Validates the inst Record by calling validators for each field

    Validates the inst Record by calling validators for each field

    returns

    a List of FieldError. If this list is empty you can assume that record was validated successfully

    definition classes: MetaRecord
  74. def wait () : Unit

    attributes: final
    definition classes: AnyRef
  75. def wait (arg0: Long, arg1: Int) : Unit

    attributes: final
    definition classes: AnyRef
  76. def wait (arg0: Long) : Unit

    attributes: final
    definition classes: AnyRef

Inherited from JSONMetaRecord[BaseRecord]

Inherited from MetaRecord[BaseRecord]

Inherited from AnyRef

Inherited from Any