summaryrefslogtreecommitdiffstats
path: root/aconf/model/field.lua
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2016-12-16 14:51:28 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2016-12-18 23:02:07 +0200
commitc248dca6eeaa6994fc3ab663f431238266417241 (patch)
tree60fc868dcf8f3bcfc21a8d82265bc45420b2adaf /aconf/model/field.lua
parent2cc92ad225ef0fd2756b44c9dc81c59fedbf2f20 (diff)
downloadaconf-c248dca6eeaa6994fc3ab663f431238266417241.tar.bz2
aconf-c248dca6eeaa6994fc3ab663f431238266417241.tar.xz
doc: section for field constructor parameters
Diffstat (limited to 'aconf/model/field.lua')
-rw-r--r--aconf/model/field.lua70
1 files changed, 9 insertions, 61 deletions
diff --git a/aconf/model/field.lua b/aconf/model/field.lua
index 70930d7..f1236aa 100644
--- a/aconf/model/field.lua
+++ b/aconf/model/field.lua
@@ -57,58 +57,6 @@ function M.conv_filter(filter)
end
-
---- base class for fields. The constructor accepts a table argument
--- containing field parameters as key&ndash;value pairs. The parameters
--- listed below are valid for all subclasses. Subclasses may define
--- additional parameters.
--- @klass Field
--- @tparam ?string addr back-end address for the field. This can be an
--- absolute address or relative to the parent's address. The top-level
--- component of a back-end address specifies the back-end. The
--- interpretation of the remaining components is specific to the
--- back-end. If not specified, the address is formed by appending the
--- field's name to the address of the parent.
--- @param be_mode (optional <i>**string**</i> or
--- <i>**{[string]=string,...}**</i>) controls how the Augeas back-end
--- will map addresses to Augeas paths. By default, each component of a
--- back-end address is directly mapped to an Augeas path
--- component. This parameter is an exception table applicable to the
--- subtree defined by the field's address. Each key is a relative
--- address pattern, and the corresponding value is a directive applied
--- to matching address components. The *enumerate* directive indicates
--- there can be several Augeas nodes matching the path and the next
--- component is to be interpreted as an index for such nodes. The
--- *parent-value* directive is applicable only to primitive fields and
--- instructs the back-end not to append the last address component at
--- all, causing the parent node's value to be accessed. If the
--- *be\_mode* parameter is defined as a string, it is assumed to be a
--- directive applicable to the field's own address.
--- @param choice (optional <i>**{primitive**</i> or
--- <i>**{primitive,string},...}**</i>) array of allowed values. Each
--- value may be a primitive value or a tuple specifying the value used
--- by the data model and a user-friendly value.
--- @param compute (optional <i><b>function(@{node.TreeNode})</b></i>
--- or <i>**string**</i>) function for computing the value of the field
--- when not provided by the back-end. The function gets a reference to
--- the field's parent as an argument. If defined as a string, a method
--- with the given name is invoked.
--- @tparam ?primitive default default value for the field
--- @tparam ?boolean required field must be assigned a value if set,
--- defaults to false
--- @param store (optional <i><b>function(@{node.TreeNode},
--- primitive)</b></i> or <i>**string**</i>) if this parameter is
--- defined, the value of the field is not stored according to the
--- field's back-end address. Rather, the provided function is invoked
--- with a reference to the parent and the field value. If defined as a
--- string, a method with the given name is invoked.
--- @tparam ?string ui_name user-friendly name for the field.
--- @tparam ?boolean visible the field is visible in the user interface
--- if set, defaults to true
--- @tparam ?string widget widget for rendering the field in the user
--- interface. The default widget for non-leaf objects is *link*, which
--- is a hyperlink to a detailed view to the object. The *inline*
--- widget renders a non-leaf object embedded in the parent's view.
M.Field = class(M.Member)
function M.Field:init(params)
@@ -316,8 +264,8 @@ function Primitive:validate(context, value)
end
---- string field, inherits @{Field}.
--- @klass String
+--- string field.
+-- @fcons String
M.String = class(Primitive)
function M.String:init(params)
@@ -372,8 +320,8 @@ function M.Integer:validate(context, value)
end
---- boolean field, inherits @{Field}.
--- @klass Boolean
+--- boolean field.
+-- @fcons Boolean
M.Boolean = class(Primitive)
function M.Boolean:init(params)
@@ -450,11 +398,11 @@ function M.TreeNode:validate_saved(context)
end
---- model field, inherits @{Field}. The value of this field is a
--- [model object](#Model_objects) conforming to the specified model. A
--- model field with default parameters is implicitly created when a
--- model is used in lieu of a @{Field}.
--- @klass Model
+--- model field. The value of this field is a [model
+-- object](#Model_objects) conforming to the specified model. A model
+-- field with default parameters is implicitly created when a model is
+-- used in lieu of a field.
+-- @fcons Model
-- @param model (<i>[&lt;Model&gt;](#new)</i>) model describing the
-- structure of the model objects
M.Model = class(M.TreeNode)