diff options
Diffstat (limited to 'aconf/model/field.lua')
-rw-r--r-- | aconf/model/field.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/aconf/model/field.lua b/aconf/model/field.lua index 6e4607f..1b44931 100644 --- a/aconf/model/field.lua +++ b/aconf/model/field.lua @@ -3,6 +3,7 @@ Copyright (c) 2012-2015 Kaarle Ritvanen See LICENSE file for license details --]] +--- @module aconf.model local M = {} local err = require('aconf.error') @@ -56,6 +57,39 @@ function M.conv_filter(filter) end + +--- base class for fields. The constructor accepts a table argument +-- containing field parameters as key–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. +-- @tparam ?|nil|string|{[string]=string,...} be_mode 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. +-- @tparam nil|{any|{any,string},...} choice 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. +-- @tparam ?any default default value for the field +-- @tparam ?boolean required field must be assigned a value if set, +-- defaults to false +-- @tparam ?string ui_name user-friendly name for the field. M.Field = class(M.Member) function M.Field:init(params) @@ -263,6 +297,8 @@ function Primitive:validate(context, value) end +--- string field, inherits @{Field}. +-- @klass String M.String = class(Primitive) function M.String:init(params) @@ -317,6 +353,8 @@ function M.Integer:validate(context, value) end +--- boolean field, inherits @{Field}. +-- @klass Boolean M.Boolean = class(Primitive) function M.Boolean:init(params) |