{
    "project": {
        "linkNatives": "true",
        "name": "jsDataSet",
        "description": "DataSet (like .Net) made available for javascript and more",
        "version": "1.0.6",
        "url": "https://github.com/gaelazzo/jsDataSet"
    },
    "files": {
        "src\\jsDataSet.js": {
            "name": "src\\jsDataSet.js",
            "modules": {
                "DataSet": 1,
                "DataRow": 1
            },
            "classes": {
                "DataColumn": 1,
                "ObjectRow": 1,
                "DataRow": 1,
                "AutoIncrementColumn": 1,
                "DataTable": 1,
                "OptimisticLocking": 1,
                "DataRelation": 1,
                "DataSet": 1
            },
            "fors": {},
            "namespaces": {}
        }
    },
    "modules": {
        "DataSet": {
            "name": "DataSet",
            "submodules": {
                "DataRow": 1
            },
            "elements": {},
            "classes": {
                "DataColumn": 1,
                "ObjectRow": 1,
                "DataRow": 1,
                "AutoIncrementColumn": 1,
                "DataTable": 1,
                "OptimisticLocking": 1,
                "DataRelation": 1,
                "DataSet": 1
            },
            "fors": {},
            "namespaces": {},
            "tag": "module",
            "file": "src\\jsDataSet.js",
            "line": 2597,
            "description": "Provides shim for Ado.net DataSet class"
        },
        "DataRow": {
            "name": "DataRow",
            "submodules": {},
            "elements": {},
            "classes": {
                "DataColumn": 1,
                "ObjectRow": 1,
                "DataRow": 1,
                "AutoIncrementColumn": 1,
                "DataTable": 1
            },
            "fors": {},
            "is_submodule": 1,
            "namespaces": {},
            "module": "DataSet",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 908,
            "description": "DataRow shim, provides methods to manage objects as Ado.Net DataRows"
        }
    },
    "classes": {
        "DataColumn": {
            "name": "DataColumn",
            "shortname": "DataColumn",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "file": "src\\jsDataSet.js",
            "line": 190,
            "access": "public",
            "tagname": "",
            "params": [
                {
                    "name": "columnName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "ctype",
                    "description": "type of the column field",
                    "type": "CType"
                }
            ],
            "submodule": "DataRow"
        },
        "ObjectRow": {
            "name": "ObjectRow",
            "shortname": "ObjectRow",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "submodule": "DataRow",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 231,
            "description": "class type to host data",
            "access": "public",
            "tagname": ""
        },
        "DataRow": {
            "name": "DataRow",
            "shortname": "DataRow",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "submodule": "DataRow",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 254,
            "description": "Provides methods to manage objects as Ado.Net DataRows"
        },
        "AutoIncrementColumn": {
            "name": "AutoIncrementColumn",
            "shortname": "AutoIncrementColumn",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "submodule": "DataRow",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 733,
            "description": "Describe how to evaluate the value of a column before posting it"
        },
        "DataTable": {
            "name": "DataTable",
            "shortname": "DataTable",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "submodule": "DataRow",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 908,
            "description": "A DataTable is s collection of ObjectRow and provides information about the structure of logical table"
        },
        "OptimisticLocking": {
            "name": "OptimisticLocking",
            "shortname": "OptimisticLocking",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 2290,
            "description": "Manages auto fill of locking purposed fields and evaluates filter for optimistic locking for update\nIn his basic implementation accept a list of fields to fill. Values for filling are taken from\n environment."
        },
        "DataRelation": {
            "name": "DataRelation",
            "shortname": "DataRelation",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 2363,
            "description": "creates a DataRelation",
            "is_constructor": 1,
            "params": [
                {
                    "name": "relationName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "parentTableName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "parentColsName",
                    "description": "array of string",
                    "type": "String|String[]"
                },
                {
                    "name": "childTableName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "childColsName",
                    "description": "optional names of child columns",
                    "type": "String|String[]",
                    "optional": true,
                    "optdefault": "parentColsName"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRelation"
            }
        },
        "DataSet": {
            "name": "DataSet",
            "shortname": "DataSet",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "module": "DataSet",
            "namespace": "",
            "file": "src\\jsDataSet.js",
            "line": 2597,
            "description": "Stores and manages a set of DataTables and DataRelations"
        }
    },
    "elements": {},
    "classitems": [
        {
            "file": "src\\jsDataSet.js",
            "line": 1,
            "description": "Created by Gaetano Lazzo on 07/02/2015.\nThanks to lodash, ObjectObserve",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 16,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 22,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 25,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 30,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 34,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 39,
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 44,
            "itemtype": "property",
            "name": "CType",
            "access": "public",
            "tagname": "",
            "enum": "CType",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 63,
            "access": "public",
            "tagname": "",
            "enum": "DataRowState",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 76,
            "description": "Enumerates possible version of a DataRow field: original, current",
            "access": "public",
            "tagname": "",
            "enum": "DataRowVersion",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 198,
            "description": "name of the column",
            "itemtype": "property",
            "name": "name",
            "type": "String",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 204,
            "description": "type of the column",
            "itemtype": "property",
            "name": "ctype",
            "type": "CType",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 210,
            "description": "Skips this column on insert copy",
            "type": "{boolean}",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 216,
            "description": "column name for posting to db",
            "itemtype": "property",
            "name": "forPosting",
            "type": "String",
            "class": "DataColumn"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 242,
            "description": "Gets the DataRow linked to an ObjectRow",
            "access": "public",
            "tagname": "",
            "itemtype": "method",
            "name": "getRow",
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "ObjectRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 260,
            "description": "Creates a DataRow from a generic plain object, and returns the DataRow",
            "itemtype": "method",
            "name": "DataRow",
            "params": [
                {
                    "name": "o",
                    "description": "this is the main object managed by the application logic, it is attached to a getRow function",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "is_constructor": 1,
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 291,
            "description": "previous values of the DataRow, only previous values of changed fields are stored",
            "internal": "",
            "itemtype": "property",
            "name": "old",
            "type": "Object",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 298,
            "description": "fields added to object (after last acceptChanges())",
            "internal": "",
            "itemtype": "property",
            "name": "added",
            "type": "Object",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 305,
            "description": "fields removed (with delete o.field) from object (after last acceptChanges())",
            "internal": "",
            "itemtype": "property",
            "name": "removed",
            "type": "Object",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 315,
            "description": "State of the DataRow, possible values are added unchanged modified deleted detached",
            "access": "public",
            "tagname": "",
            "itemtype": "property",
            "name": "state",
            "type": "DataRowState",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 342,
            "description": "Get the DataRow attached to an object. This method is attached to the object itself,\n so you can get the DataRow calling o.getRow() where o is the plain object\nThis transforms o into an ObjectRow",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 357,
            "access": "public",
            "tagname": "",
            "itemtype": "property",
            "name": "current current value of the DataRow is the ObjectRow attached to it",
            "type": "ObjectRow",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 363,
            "access": "public",
            "tagname": "",
            "itemtype": "property",
            "name": "table",
            "type": "DataTable",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 370,
            "type": "{DataRow}",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 376,
            "description": "get the value of a field of the object. If dataRowVer is omitted, it's equivalent to o.fieldName",
            "itemtype": "method",
            "name": "getValue",
            "params": [
                {
                    "name": "fieldName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "dataRowVer",
                    "description": "possible values are 'original', 'current'",
                    "type": "DataRowVersion",
                    "optional": true,
                    "optdefault": "'current'"
                }
            ],
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 398,
            "description": "Gets the original row, before changes was made, undefined if current state is added",
            "itemtype": "method",
            "name": "originalRow",
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 431,
            "description": "Make this row identical to another row (both in state, original and current value)",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "DataRow"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 458,
            "description": "changes current row to make it's current values equal to another one. Deleted rows becomes modified\ncompared to patchTo, this also removes values that are not present in other row",
            "itemtype": "method",
            "name": "makeEqualTo",
            "params": [
                {
                    "name": "o",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 466,
            "type": "{DataRow}",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 488,
            "description": "changes current row to make it's current values equal to another one. Deleted rows becomes modified",
            "itemtype": "method",
            "name": "patchTo",
            "params": [
                {
                    "name": "o",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 510,
            "description": "Get the column name of all modified/added/removed fields",
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 518,
            "description": "Makes changes permanents, discarding old values. state becomes unchanged, detached remains detached",
            "itemtype": "method",
            "name": "acceptChanges",
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 535,
            "description": "Discard changes, restoring the original values of the object. state becomes unchanged,\ndetached remains detached",
            "itemtype": "method",
            "name": "rejectChanges",
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 563,
            "description": "resets all change and sets state to unchanged",
            "access": "private",
            "tagname": "",
            "itemtype": "method",
            "name": "_reset",
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 577,
            "description": "Detaches row, loosing all changes made. object is also removed from the underlying DataTable.\nProxy is disposed.",
            "itemtype": "method",
            "name": "detach",
            "return": {
                "description": "",
                "type": "Undefined"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 594,
            "description": "Deletes the row. If it is in added state it becomes detached. Otherwise any changes are lost, and\n only rejectChanges can bring the row into life again",
            "itemtype": "method",
            "name": "del",
            "return": {
                "description": "",
                "type": "DataRow"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 616,
            "description": "Debug - helper function",
            "itemtype": "method",
            "name": "toString",
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 628,
            "description": "Gets the parent(s) of this row in the dataSet it is contained, following the relation with the\n specified name",
            "itemtype": "method",
            "name": "getParentRows",
            "params": [
                {
                    "name": "relName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 643,
            "description": "Gets all parent rows of this one",
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 655,
            "description": "Gets parents row of this row in a given table",
            "itemtype": "method",
            "name": "getParentsInTable",
            "params": [
                {
                    "name": "parentTableName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 671,
            "description": "Gets the child(s) of this row in the dataSet it is contained, following the relation with the\n specified name",
            "itemtype": "method",
            "name": "getChildRows",
            "params": [
                {
                    "name": "relName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 686,
            "description": "Gets all child rows of this one",
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 699,
            "description": "Gets child rows of this row in a given table",
            "itemtype": "method",
            "name": "getChildInTable",
            "params": [
                {
                    "name": "childTableName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 715,
            "description": "DataTable that contains this DataRow",
            "itemtype": "property",
            "name": "table",
            "type": "DataTable",
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 721,
            "description": "Get an object with all key fields of this row",
            "itemtype": "method",
            "name": "keySample",
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "DataRow",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 739,
            "description": "Create a AutoIncrementColumn",
            "is_constructor": 1,
            "params": [
                {
                    "name": "columnName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "options",
                    "description": "same options as AutoIncrement properties",
                    "type": "Object"
                }
            ],
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 746,
            "description": "name of the column that has to be auto-incremented",
            "itemtype": "property",
            "name": "columnName",
            "type": "String",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 752,
            "description": "Array of column names of selector fields. The max() is evaluating filtering the values of those fields",
            "itemtype": "property",
            "name": "[selector]",
            "type": "String[]",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 758,
            "description": "Array of bit mask to use for comparing selector. If present, only corresponding bits will be compared,\n i.e. instead of sel=value it will be compared (sel & mask) = value",
            "itemtype": "property",
            "name": "[selectorMask]",
            "type": "Number[]",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 765,
            "description": "A field to use as prefix for the evaluated field",
            "itemtype": "property",
            "name": "[prefixField]",
            "type": "String",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 771,
            "description": "String literal to be appended to the prefix before the evaluated max",
            "itemtype": "property",
            "name": "[middleConst]",
            "type": "String",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 778,
            "description": "for string id, the len of the evaluated max. It is not the overall size of the evaluated id, because a\n prefix and a middle const might be present\nIf idLen = 0 and there is no prefix, the field is assumed to be a number, otherwise a 0 prefixed string-number",
            "itemtype": "property",
            "name": "[idLen=0]",
            "type": "Number",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 786,
            "description": "Indicates that numbering does NOT depend on prefix value, I.e. is linear in every section of the calculated field",
            "itemtype": "property",
            "name": "[linearField=false]",
            "type": "Boolean",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 792,
            "description": "Minimum temporary value for in-memory rows",
            "itemtype": "property",
            "name": "[minimum=0]",
            "type": "Number",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 798,
            "description": "true if this field is a number",
            "itemtype": "property",
            "name": "[isNumber=false]",
            "type": "Number",
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 819,
            "description": "Gets a function that filter selector fields eventually masking with selectorMask",
            "params": [
                {
                    "name": "row",
                    "description": ""
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 843,
            "description": "evaluates the function to filter selector on a specified row and column",
            "itemtype": "method",
            "name": "getSelector",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 859,
            "description": "Gets the prefix evaluated for a given row",
            "itemtype": "method",
            "name": "getPrefix",
            "params": [
                {
                    "name": "r",
                    "description": ""
                }
            ],
            "return": {
                "description": "string"
            },
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 878,
            "description": "gets the expression to be used for retrieving the max",
            "itemtype": "method",
            "name": "getExpression",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 897,
            "description": "Optional custom function to be called to evaluate the maximum value",
            "itemtype": "method",
            "name": "customFunction",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "columnName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "conn",
                    "description": "",
                    "type": "JsDataAccess"
                }
            ],
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "AutoIncrementColumn",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 913,
            "description": "DataSet to which this table belongs",
            "itemtype": "property",
            "name": "dataset",
            "type": "DataSet",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 918,
            "description": "Creates an empty DataTable",
            "params": [
                {
                    "name": "tableName",
                    "description": "",
                    "type": "String"
                }
            ],
            "is_constructor": 1,
            "return": {
                "description": "",
                "type": "DataTable"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 925,
            "description": "Name of the table",
            "itemtype": "property",
            "name": "name",
            "type": "String",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 931,
            "description": "Collection of rows, each one hiddenly surrounded with a DataRow object",
            "itemtype": "property",
            "name": "rows",
            "type": "ObjectRow[]",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 938,
            "description": "Array of key column names",
            "access": "private",
            "tagname": "",
            "itemtype": "property",
            "name": "myKey",
            "type": "String[]",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 945,
            "description": "Set of properties to be assigned to new rows when they are created",
            "itemtype": "property",
            "name": "myDefaults",
            "type": "Object",
            "access": "private",
            "tagname": "",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 952,
            "description": "Dictionary of DataColumn",
            "itemtype": "property",
            "name": "columns",
            "type": "{{DataColumn}}",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 959,
            "itemtype": "property",
            "name": "autoIncrementColumns",
            "type": "{{AutoIncrementColumn}}",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 965,
            "description": "A ordering to use for posting of this table",
            "itemtype": "property",
            "name": "postingOrder",
            "type": "string | string[] | function",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 975,
            "access": "private",
            "tagname": "",
            "itemtype": "property",
            "name": "maxCache",
            "type": "object",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 981,
            "description": "Mark the table as optimized / not optimized\nAn optimized table has a cache for all autoincrement field",
            "itemtype": "method",
            "name": "setOptimize",
            "params": [
                {
                    "name": "value",
                    "description": "",
                    "type": "Boolean"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 997,
            "description": "Check if this table is optimized",
            "itemtype": "method",
            "name": "isOptimized",
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1006,
            "description": "Clear evaluated max cache",
            "itemtype": "method",
            "name": "clearMaxCache",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1016,
            "params": [
                {
                    "name": "colNames",
                    "description": "",
                    "type": "String[]"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1033,
            "description": "Set a value in the max cache",
            "itemtype": "method",
            "name": "setMaxExpr",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "expr",
                    "description": "",
                    "type": "SqlFun"
                },
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                },
                {
                    "name": "num",
                    "description": "",
                    "type": "Int"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1049,
            "params": [
                {
                    "name": "name",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "ctype",
                    "description": "",
                    "type": "CType"
                }
            ],
            "return": {
                "description": "",
                "type": "DataColumn"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1067,
            "description": "get/set the minimum temp value for a field, assuming 0 if undefined",
            "itemtype": "method",
            "name": "minimumTempValue",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Number",
                    "optional": true
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1090,
            "description": "gets the max in cache for a field and updates the cache",
            "itemtype": "method",
            "name": "getMaxExpr",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "expr",
                    "description": "",
                    "type": "SqlFun|string"
                },
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                }
            ],
            "return": {
                "description": "",
                "type": "Number"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1108,
            "description": "Evaluates the max of an expression eventually using a cached value",
            "itemtype": "method",
            "name": "cachedMaxSubstring",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "start",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "len",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                }
            ],
            "return": {
                "description": "",
                "type": "Number"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1126,
            "description": "Evaluates the max of an expression without using any cached value. If len = 0 the expression is managed\n as a number with max(field) otherwise it is performed max(convertToInt(substring(field,start,len)))",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "start",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "len",
                    "description": "",
                    "type": "Number"
                },
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                }
            ],
            "return": {
                "description": "",
                "type": "Number"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1161,
            "description": "Extract a set of rows matching a filter function - skipping deleted rows",
            "itemtype": "method",
            "name": "select",
            "params": [
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1202,
            "description": "Extract a set of rows matching a filter function - including deleted rows",
            "itemtype": "method",
            "name": "selectAll",
            "params": [
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1216,
            "description": "Get the filter that compares key fields of a given row",
            "itemtype": "method",
            "name": "keyFilter",
            "params": [
                {
                    "name": "row",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "*|sqlFun"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1229,
            "description": "Compares the key of two objects",
            "params": [
                {
                    "name": "a",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "b",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1241,
            "description": "Get/Set the primary key in a Jquery fashioned style. If k is given, the key is set, otherwise the existing\n key is returned",
            "itemtype": "method",
            "name": "key",
            "params": [
                {
                    "name": "k",
                    "description": "",
                    "type": "String[]",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|string[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1271,
            "description": "Check if a column is key",
            "params": [
                {
                    "name": "k",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1282,
            "description": "Clears the table detaching all rows.",
            "itemtype": "method",
            "name": "clear",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1296,
            "description": "Detaches a row from the table",
            "itemtype": "method",
            "name": "detach",
            "params": [
                {
                    "name": "obj",
                    "description": ""
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1316,
            "description": "Adds an object to the table setting the datarow in the state of \"added\"",
            "itemtype": "method",
            "name": "add",
            "params": [
                {
                    "name": "obj",
                    "description": "plain object"
                }
            ],
            "return": {
                "description": "DataRow created"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1330,
            "description": "check if a row is present in the table. If there is  a key, it is used for finding the row,\n otherwise a ==== comparison is made",
            "itemtype": "method",
            "name": "existingRow",
            "params": [
                {
                    "name": "obj",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRow | undefined"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1355,
            "description": "Adds an object to the table setting the datarow in the state of \"unchanged\"",
            "itemtype": "method",
            "name": "load",
            "params": [
                {
                    "name": "obj",
                    "description": "plain object to load in the table",
                    "type": "Object"
                },
                {
                    "name": "safe",
                    "description": "if false doesn't verify existence of row",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "true"
                }
            ],
            "return": {
                "description": "created DataRow",
                "type": "DataRow"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1376,
            "description": "Adds an object to the table setting the datarow in the state of 'unchanged'",
            "itemtype": "method",
            "name": "loadArray",
            "params": [
                {
                    "name": "arr",
                    "description": "array of plain objects",
                    "type": "Object[]"
                },
                {
                    "name": "safe",
                    "description": "if false doesn't verify existence of row",
                    "type": "Boolean"
                }
            ],
            "return": {
                "description": "*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1390,
            "description": "Accept any changes setting all dataRows in the state of 'unchanged'.\nDeleted rows become detached and are removed from the table",
            "itemtype": "method",
            "name": "acceptChanges",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1399,
            "type": "{ObjectRow}",
            "params": [
                {
                    "name": "o",
                    "description": ""
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1417,
            "description": "Reject any changes putting all to 'unchanged' state.\nAdded rows become detached.",
            "itemtype": "method",
            "name": "rejectChanges",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1426,
            "itemtype": "method",
            "name": "",
            "params": [
                {
                    "name": "o",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1444,
            "description": "Check if any DataRow in the table has changes",
            "itemtype": "method",
            "name": "hasChanges",
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1456,
            "description": "gets an array of all modified/added/deleted rows",
            "itemtype": "method",
            "name": "getChanges",
            "return": {
                "description": "",
                "type": "Array"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1467,
            "description": "Debug-helper function",
            "itemtype": "method",
            "name": "toString",
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1476,
            "description": "import a row preserving it's state, the row should already have a DataRow attached",
            "itemtype": "method",
            "name": "importRow",
            "params": [
                {
                    "name": "row",
                    "description": "input",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "created",
                "type": "DataRow"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1499,
            "description": "Get/set the object defaults in a JQuery fashioned style. When def is present, its fields and values are\n merged into existent defaults.",
            "itemtype": "method",
            "name": "defaults",
            "params": [
                {
                    "name": "def",
                    "description": "",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "Object|*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1514,
            "description": "Clears any stored default value for the table",
            "itemtype": "method",
            "name": "clearDefaults",
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1522,
            "description": "creates a DataRow and returns the created object. The created object has the default values merged to the\n values in the optional parameter obj.",
            "itemtype": "method",
            "name": "newRow",
            "params": [
                {
                    "name": "obj",
                    "description": "contains the initial value of the created objects.",
                    "type": "Object",
                    "optional": true
                },
                {
                    "name": "parentRow",
                    "description": "",
                    "type": "ObjectRow",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1543,
            "description": "Make childRow child of parentRow if a relation between the two is found",
            "itemtype": "method",
            "name": "makeChild",
            "params": [
                {
                    "name": "childRow",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "parentTable",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "parentRow",
                    "description": "",
                    "type": "ObjectRow",
                    "optional": true
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1564,
            "description": "Get/Set a flag indicating that this table is not subjected to security functions in a Jquery fashioned\n style",
            "itemtype": "method",
            "name": "skipSecurity",
            "params": [
                {
                    "name": "arg",
                    "description": "",
                    "type": "Boolean",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1582,
            "description": "Get/Set a flag indicating that this table is not subjected to the Insert and Copy function",
            "itemtype": "method",
            "name": "skipInsertCopy",
            "params": [
                {
                    "name": "arg",
                    "description": "",
                    "type": "Boolean",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|boolean"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1599,
            "description": "Get/Set DenyClear. === y avoid to clear table on backend reads",
            "itemtype": "method",
            "name": "denyClear",
            "params": [
                {
                    "name": "arg",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|string"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1616,
            "description": "Get/Set a table name, that represents the view table associated to the table",
            "itemtype": "method",
            "name": "viewTable",
            "params": [
                {
                    "name": "arg",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|string"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1633,
            "description": "Get/Set a table name, that represents the real table associated to the table",
            "itemtype": "method",
            "name": "realTable",
            "params": [
                {
                    "name": "arg",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "Null|string"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1650,
            "description": "Returns the table that should be used for writing, using tableForReading as a default for tableForWriting,\n or this.name if none of them is set",
            "itemtype": "method",
            "name": "postingTable",
            "access": "public",
            "tagname": "",
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1661,
            "description": "Get/Set the name of table  to be used to read data from database in a Jquery fashioned style",
            "itemtype": "method",
            "name": "tableForReading",
            "params": [
                {
                    "name": "tableName",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|DataTable.myTableForReading|DataTable.name"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1675,
            "description": "Get/Set the name of table  to be used to write data from database in a Jquery fashioned style",
            "itemtype": "method",
            "name": "tableForWriting",
            "params": [
                {
                    "name": "tableName",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|DataTable.myTableForWriting|DataTable.name"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1689,
            "description": "Get/Set a static filter  to be used to read data from database in a Jquery fashioned style",
            "itemtype": "method",
            "name": "staticFilter",
            "params": [
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1702,
            "description": "Sort a given array of rows, does not change table.",
            "params": [
                {
                    "name": "rows",
                    "description": "",
                    "type": "ObjectRow[]"
                },
                {
                    "name": "sortOrder",
                    "description": "it's like field1  [ASC|DESC] [, field2 [ASC|DESC] ..]",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1724,
            "description": "Returns table rows in a specified order, does not change table. Skips deleted rows.",
            "params": [
                {
                    "name": "sortOrder",
                    "description": "it's like field1  [ASC|DESC] [, field2 [ASC|DESC] ..]",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1736,
            "description": "Get/set the ordering that have to be user reading from db",
            "params": [
                {
                    "name": "fieldList] it's like field1  [ASC|DESC] [, field2 [ASC|DESC] ..",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "String"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1749,
            "description": "get the list of columns or * if there is no column set",
            "itemtype": "method",
            "name": "columnList",
            "return": {
                "description": "string"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1767,
            "description": "Gets all autoincrement column names of this table",
            "itemtype": "method",
            "name": "getAutoIncrementColumns",
            "return": {
                "description": "string[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1776,
            "description": "Get/Set autoincrement properties of fields",
            "itemtype": "method",
            "name": "autoIncrement",
            "params": [
                {
                    "name": "fieldName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "autoIncrementInfo",
                    "description": "//see AutoIncrementColumn properties for details",
                    "type": "Object",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*|AutoIncrementColumn"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1793,
            "description": "Get a serializable version of this table. If serializeStructure=true, also structure information is serialized",
            "params": [
                {
                    "name": "serializeStructure",
                    "description": "",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "false"
                },
                {
                    "name": "filterRow",
                    "description": "optional function for filtering rows to serialize",
                    "type": "Function",
                    "optional": true
                }
            ],
            "return": {
                "description": "the serialization object derived from this DataTable",
                "type": "Object"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1859,
            "description": "Get data from a serialized structure. If serializeStructure=true, also structure information is serialized",
            "params": [
                {
                    "name": "t",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "deserializeStructure",
                    "description": "",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "false"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1930,
            "description": "Get all relation where THIS table is the child and another table is the parent",
            "itemtype": "method",
            "name": "parentRelations",
            "return": {
                "description": "DataRelation[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1939,
            "description": "Get all relation where THIS table is the parent and another table is the child",
            "itemtype": "method",
            "name": "childRelations",
            "return": {
                "description": "DataRelation[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1948,
            "description": "adds an array of objects to collection, as unchanged, if they still are not present. Existence is verified\n basing on  key",
            "itemtype": "method",
            "name": "mergeArray",
            "params": [
                {
                    "name": "arr",
                    "description": "",
                    "type": "Object[]"
                },
                {
                    "name": "overwrite",
                    "description": "",
                    "type": "Boolean"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1973,
            "description": "clones table structure without copying any DataRow",
            "itemtype": "method",
            "name": "clone",
            "return": {
                "description": "",
                "type": "DataTable"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 1996,
            "description": "Clones table structure and copies data\nmethod @copy",
            "return": {
                "description": "",
                "type": "DataTable"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2009,
            "description": "Gets a filter of colliding rows supposing to change r[field]= value, on  a specified column",
            "itemtype": "method",
            "name": "collisionFilter",
            "access": "private",
            "tagname": "",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "autoInfo",
                    "description": "",
                    "type": "AutoIncrementColumn"
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2030,
            "description": "Assign a field assuring it will not cause duplicates on table's autoincrement fields",
            "itemtype": "method",
            "name": "safeAssign",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Object"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2043,
            "description": "check if changing a key field of a row it would collide with come autoincrement field. If it would,\n recalculates colliding rows/filter in accordance",
            "itemtype": "method",
            "name": "avoidCollisions",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2065,
            "description": "Recalculate a field to avoid collisions on some rows identified by a filter",
            "itemtype": "method",
            "name": "avoidCollisionsOnField",
            "access": "private",
            "tagname": "",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2079,
            "description": "Assign a value to a field and update all dependencies",
            "itemtype": "method",
            "name": "assignField",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2092,
            "description": "assign a value to a field in a row and all descending child rows",
            "itemtype": "method",
            "name": "cascadeAssignField",
            "access": "private",
            "tagname": "",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "parentField",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "value",
                    "description": "",
                    "type": "Object"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2117,
            "description": "Gets all autoincrement fields that depends on a given field, i.e. those having field as selector or prefixfield",
            "itemtype": "method",
            "name": "fieldDependencies",
            "access": "private",
            "tagname": "",
            "params": [
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "String[]"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2139,
            "description": "Re calculate temporaryID affected by a field change. It should be done for every autoincrement field\n that has that field as a selector or as a prefix field",
            "itemtype": "method",
            "name": "updateDependencies",
            "params": [
                {
                    "name": "row",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2155,
            "description": "Augment r[field] in order to avoid collision with another row that needs to take that value\nif field is not specified, this is applied to all autoincrement field of the table\nPrecondition: r[[field] should be an autoincrement field",
            "itemtype": "method",
            "name": "calcTemporaryId",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "field",
                    "description": "",
                    "type": "String",
                    "optional": true
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2203,
            "description": "merges changes from dataTable t assuming they are unchanged and they can be present in this or not.\nIf a row is not present, it is added. If it is present, it is updated.\nIt is assumed that \"this\" dataTable is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPut",
            "params": [
                {
                    "name": "t",
                    "description": "",
                    "type": "DataTable"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2223,
            "description": "merges changes from dataTable t assuming they are unchanged and they are not present in this dataTable.\nRows are all added 'as is' to this, in the state of ADDED\nIt is assumed that \"this\" dataTable is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPost",
            "params": [
                {
                    "name": "t",
                    "description": "",
                    "type": "DataTable"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2237,
            "description": "merges changes from dataTable t assuming they are unchanged and they are all present in this dataTable.\nRows are updated, but only  fields actually present in d are modified. Other field are left unchanged.\nIt is assumed that \"this\" dataTable is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPatch",
            "params": [
                {
                    "name": "t",
                    "description": "",
                    "type": "DataTable"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2254,
            "description": "merge any row present in dataTable t. Rows are merged as unchanged if they are unchanged,\n otherwise their values are copied into existent dataTable\n DataSet must have same table structure",
            "params": [
                {
                    "name": "t",
                    "description": "",
                    "type": "DataTable"
                }
            ],
            "class": "DataTable",
            "module": "DataSet",
            "submodule": "DataRow"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2296,
            "itemtype": "method",
            "name": "OptimisticLocking",
            "params": [
                {
                    "name": "updateFields",
                    "description": "Fields to fill and to check during update operations",
                    "type": "String[]"
                },
                {
                    "name": "createFields",
                    "description": "Fields to fill and to check during insert operations",
                    "type": "String[]"
                }
            ],
            "is_constructor": 1,
            "class": "OptimisticLocking",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2311,
            "description": "This function is called before posting row into db for every insert/update",
            "itemtype": "method",
            "name": "prepareForPosting",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "env",
                    "description": "",
                    "type": "Environment"
                }
            ],
            "class": "OptimisticLocking",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2334,
            "description": "Get the optimistic lock for updating or deleting a row",
            "itemtype": "method",
            "name": "getOptimisticLock",
            "params": [
                {
                    "name": "r",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "SqlFun"
            },
            "class": "OptimisticLocking",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2376,
            "description": "Parent table name",
            "itemtype": "property",
            "name": "parentTable",
            "type": "string",
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2383,
            "description": "DataSet to which this DataRelation belongs to. It is used to retrieve parent and child table",
            "itemtype": "property",
            "name": "dataSet",
            "type": "DataSet",
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2390,
            "description": "Array of parent column names or comma separated column names",
            "itemtype": "property",
            "name": "parentCols",
            "type": "String|String[]",
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2401,
            "description": "Child table name",
            "itemtype": "property",
            "name": "childTable",
            "type": "string",
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2408,
            "description": "Array of child column names  or comma separated column names",
            "itemtype": "property",
            "name": "childCols",
            "type": "string|string[]",
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2426,
            "description": "Gets a filter that will be applied to the child table and will find any child row of a given ObjectRow",
            "itemtype": "method",
            "name": "getChildFilter",
            "params": [
                {
                    "name": "parentRow",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "alias",
                    "description": "when present is used to attach an alias for the parent table in the composed filter",
                    "type": "String",
                    "optional": true
                }
            ],
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2442,
            "description": "Get any child of a given ObjectRow following this DataRelation",
            "itemtype": "method",
            "name": "getChild",
            "params": [
                {
                    "name": "parentRow",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2457,
            "description": "Gets a filter that will be applied to the parent table and will find any parent row of a given ObjectRow",
            "itemtype": "method",
            "name": "getParentsFilter",
            "params": [
                {
                    "name": "childRow",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "alias",
                    "description": "when present is used to attach an alias for the parent table in the composed filter",
                    "type": "String",
                    "optional": true
                }
            ],
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2474,
            "description": "Get any parent of a given ObjectRow following this DataRelation",
            "itemtype": "method",
            "name": "getParents",
            "params": [
                {
                    "name": "childRow",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "ObjectRow[]"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2489,
            "description": "Get a serialized version of this relation",
            "return": {
                "description": "}"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2524,
            "description": "get/set the activation filter for the relation, i.e. a condition that must be satisfied in order to\n follow the relation when automatically filling dataset from database. The condition is meant to be applied\n to parent rows",
            "params": [
                {
                    "name": "filter",
                    "description": "",
                    "type": "SqlFun",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2540,
            "description": "Establish if  a relation links the key of  a table into a subset of another table key",
            "itemtype": "method",
            "name": "isEntityRelation",
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2563,
            "description": "Modifies childRow in order to make it child of parentRow. Sets to null corresponding fields if\n parentRow is null or undefined",
            "itemtype": "method",
            "name": "makeChild",
            "params": [
                {
                    "name": "parentRow",
                    "description": "",
                    "type": "ObjectRow"
                },
                {
                    "name": "childRow",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataRelation",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2602,
            "description": "Creates an empty DataSet",
            "itemtype": "method",
            "name": "DataSet",
            "params": [
                {
                    "name": "dataSetName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "DataSet"
            },
            "is_constructor": 1,
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2613,
            "description": "DataSet name",
            "itemtype": "property",
            "name": "name",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2620,
            "description": "Collection of DataTable where tables[tableName] is a DataTable named tableName",
            "access": "public",
            "tagname": "",
            "itemtype": "property",
            "name": "} tables",
            "type": "DataTable",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2628,
            "description": "Collection of DataRelation  where relations[relName] is a DataRelation named relName",
            "itemtype": "property",
            "name": "} relations",
            "type": "DataRelation",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2634,
            "description": "Gets all relations where the parent table is the key of the hash\nrelationsByParent['a'] is an array of all DataRelations where 'a' is the parent",
            "itemtype": "property",
            "name": "} relationsByParent",
            "type": "DataRelation[]",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2641,
            "description": "Gets all relations where the child table is the key of the hash\nrelationsByChild['a'] is an array of all DataRelations where 'a' is the child",
            "itemtype": "property",
            "name": "}  relationsByChild",
            "type": "DataRelation[]",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2648,
            "description": "DataSet - level optimistic locking, this property is set in custom implementations",
            "itemtype": "property",
            "name": "optimisticLocking",
            "type": "OptimisticLocking",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2667,
            "description": "Clones a DataSet replicating its structure but without copying any ObjectRow",
            "itemtype": "method",
            "name": "clone",
            "return": {
                "description": "",
                "type": "DataSet"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2673,
            "description": "newDs",
            "type": "{DataSet}",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2680,
            "description": "newT",
            "type": "{DataTable}",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2696,
            "description": "Creates a new DataTable attaching it to the DataSet",
            "itemtype": "method",
            "name": "newTable",
            "params": [
                {
                    "name": "tableName",
                    "description": "",
                    "type": "String"
                }
            ],
            "return": {
                "description": "",
                "type": "DataTable"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2714,
            "description": "Adds a datatable to DataSet",
            "itemtype": "method",
            "name": "addTable",
            "params": [
                {
                    "name": "table",
                    "description": "",
                    "type": "DataTable"
                }
            ],
            "return": {
                "description": "",
                "type": "DataTable"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2736,
            "description": "Creates a copy of the DataSet, including both structure and data.",
            "itemtype": "method",
            "name": "copy",
            "return": {
                "description": "",
                "type": "DataSet"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2752,
            "description": "Calls acceptChanges to all contained DataTables",
            "itemtype": "method",
            "name": "acceptChanges",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2762,
            "description": "Calls rejectChanges to all contained DataTables",
            "itemtype": "method",
            "name": "rejectChanges",
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2772,
            "description": "Check if any contained DataTable has any changes",
            "itemtype": "method",
            "name": "hasChanges",
            "return": {
                "description": "",
                "type": "Boolean"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2783,
            "description": "Creates a new DataRelation and attaches it to the DataSet",
            "itemtype": "method",
            "name": "newRelation",
            "params": [
                {
                    "name": "relationName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "parentTableName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "parentColsName",
                    "description": "array of string",
                    "type": "String[]"
                },
                {
                    "name": "childTableName",
                    "description": "",
                    "type": "String"
                },
                {
                    "name": "childColsName",
                    "description": "array of string",
                    "type": "String[]"
                }
            ],
            "return": {
                "description": "",
                "type": "DataRelation"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2821,
            "description": "Deletes a row with all subentity child",
            "itemtype": "method",
            "name": "cascadeDelete",
            "params": [
                {
                    "name": "row",
                    "description": "",
                    "type": "ObjectRow"
                }
            ],
            "return": {
                "description": "",
                "type": "*"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2849,
            "description": "Creates a serializable version of this DataSet",
            "itemtype": "method",
            "name": "serialize",
            "params": [
                {
                    "name": "serializeStructure",
                    "description": "when true serialized also structure, when false only row data",
                    "type": "Boolean",
                    "optional": true,
                    "optdefault": "false"
                },
                {
                    "name": "filterRow",
                    "description": "function to select which rows have to be serialized",
                    "type": "Function",
                    "optional": true
                }
            ],
            "return": {
                "description": "",
                "type": "Object"
            },
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2873,
            "description": "Restores data from an object obtained with serialize().",
            "itemtype": "method",
            "name": "deSerialize",
            "params": [
                {
                    "name": "d",
                    "description": "",
                    "type": "Object"
                },
                {
                    "name": "deSerializeStructure",
                    "description": "",
                    "type": "Boolean"
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2900,
            "description": "merges changes from DataSet d assuming they are unchanged and they can be present in this or not.\nIf a row is not present, it is added. If it is present, it is updated.\nIt is assumed that \"this\" dataset is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPut",
            "params": [
                {
                    "name": "d",
                    "description": "",
                    "type": "DataSet"
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2914,
            "description": "merges changes from DataSet d assuming they are unchanged and they are not present in this dataset.\nRows are all added 'as is' to this, in the state of ADDED\nIt is assumed that \"this\" dataset is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPost",
            "params": [
                {
                    "name": "d",
                    "description": "",
                    "type": "DataSet"
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2928,
            "description": "merges changes from DataSet d assuming they are unchanged and they are all present in this dataset.\nRows are updated, but only  fields actually present in d are modified. Other field are left unchanged.\nIt is assumed that \"this\" dataset is unchanged at the beginning",
            "itemtype": "method",
            "name": "mergeAsPatch",
            "params": [
                {
                    "name": "d",
                    "description": "",
                    "type": "DataSet"
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2942,
            "description": "merge any row present in dataset d. Rows are merged as unchanged if they are unchanged,\n otherwise their values are copied into existent dataset\n DataSet must have same table structure",
            "params": [
                {
                    "name": "d",
                    "description": ""
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        },
        {
            "file": "src\\jsDataSet.js",
            "line": 2955,
            "description": "Import data from a given dataset",
            "itemtype": "method",
            "name": "importData",
            "params": [
                {
                    "name": "d",
                    "description": "",
                    "type": "DataSet"
                }
            ],
            "class": "DataSet",
            "module": "DataSet"
        }
    ],
    "warnings": [
        {
            "message": "unknown tag: enum",
            "line": " src\\jsDataSet.js:44"
        },
        {
            "message": "unknown tag: enum",
            "line": " src\\jsDataSet.js:63"
        },
        {
            "message": "unknown tag: enum",
            "line": " src\\jsDataSet.js:76"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:242"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:260"
        },
        {
            "message": "unknown tag: internal",
            "line": " src\\jsDataSet.js:291"
        },
        {
            "message": "unknown tag: internal",
            "line": " src\\jsDataSet.js:298"
        },
        {
            "message": "unknown tag: internal",
            "line": " src\\jsDataSet.js:305"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:376"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:594"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:616"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:628"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:643"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:655"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:671"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:686"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:699"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:721"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:819"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:843"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:859"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:997"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1161"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1202"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1216"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1229"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1241"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1271"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1316"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1355"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1444"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1456"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1467"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1476"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1499"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1522"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1564"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1582"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1599"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1616"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1633"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1661"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1675"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1689"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1736"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1749"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1767"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1776"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1930"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:1939"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2139"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2334"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2442"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2474"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2489"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2524"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2540"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2602"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2667"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2696"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2714"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2736"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2772"
        },
        {
            "message": "replacing incorrect tag: returns with return",
            "line": " src\\jsDataSet.js:2849"
        },
        {
            "message": "Missing item type\nCreated by Gaetano Lazzo on 07/02/2015.\nThanks to lodash, ObjectObserve",
            "line": " src\\jsDataSet.js:1"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:16"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:22"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:25"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:30"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:34"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:39"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:63"
        },
        {
            "message": "Missing item type\nEnumerates possible version of a DataRow field: original, current",
            "line": " src\\jsDataSet.js:76"
        },
        {
            "message": "Missing item type\nSkips this column on insert copy",
            "line": " src\\jsDataSet.js:210"
        },
        {
            "message": "Missing item type\nGet the DataRow attached to an object. This method is attached to the object itself,\n so you can get the DataRow calling o.getRow() where o is the plain object\nThis transforms o into an ObjectRow",
            "line": " src\\jsDataSet.js:342"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:370"
        },
        {
            "message": "Missing item type\nMake this row identical to another row (both in state, original and current value)",
            "line": " src\\jsDataSet.js:431"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:466"
        },
        {
            "message": "Missing item type\nGet the column name of all modified/added/removed fields",
            "line": " src\\jsDataSet.js:510"
        },
        {
            "message": "Missing item type\nGets all parent rows of this one",
            "line": " src\\jsDataSet.js:643"
        },
        {
            "message": "Missing item type\nGets all child rows of this one",
            "line": " src\\jsDataSet.js:686"
        },
        {
            "message": "Missing item type\nCreate a AutoIncrementColumn",
            "line": " src\\jsDataSet.js:739"
        },
        {
            "message": "Missing item type\nGets a function that filter selector fields eventually masking with selectorMask",
            "line": " src\\jsDataSet.js:819"
        },
        {
            "message": "Missing item type\nCreates an empty DataTable",
            "line": " src\\jsDataSet.js:918"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:1016"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:1049"
        },
        {
            "message": "Missing item type\nEvaluates the max of an expression without using any cached value. If len = 0 the expression is managed\n as a number with max(field) otherwise it is performed max(convertToInt(substring(field,start,len)))",
            "line": " src\\jsDataSet.js:1126"
        },
        {
            "message": "Missing item type\nCompares the key of two objects",
            "line": " src\\jsDataSet.js:1229"
        },
        {
            "message": "Missing item type\nCheck if a column is key",
            "line": " src\\jsDataSet.js:1271"
        },
        {
            "message": "Missing item type",
            "line": " src\\jsDataSet.js:1399"
        },
        {
            "message": "Missing item type\nSort a given array of rows, does not change table.",
            "line": " src\\jsDataSet.js:1702"
        },
        {
            "message": "Missing item type\nReturns table rows in a specified order, does not change table. Skips deleted rows.",
            "line": " src\\jsDataSet.js:1724"
        },
        {
            "message": "Missing item type\nGet/set the ordering that have to be user reading from db",
            "line": " src\\jsDataSet.js:1736"
        },
        {
            "message": "Missing item type\nGet a serializable version of this table. If serializeStructure=true, also structure information is serialized",
            "line": " src\\jsDataSet.js:1793"
        },
        {
            "message": "Missing item type\nGet data from a serialized structure. If serializeStructure=true, also structure information is serialized",
            "line": " src\\jsDataSet.js:1859"
        },
        {
            "message": "Missing item type\nClones table structure and copies data\nmethod @copy",
            "line": " src\\jsDataSet.js:1996"
        },
        {
            "message": "Missing item type\nmerge any row present in dataTable t. Rows are merged as unchanged if they are unchanged,\n otherwise their values are copied into existent dataTable\n DataSet must have same table structure",
            "line": " src\\jsDataSet.js:2254"
        },
        {
            "message": "Missing item type\nGet a serialized version of this relation",
            "line": " src\\jsDataSet.js:2489"
        },
        {
            "message": "Missing item type\nget/set the activation filter for the relation, i.e. a condition that must be satisfied in order to\n follow the relation when automatically filling dataset from database. The condition is meant to be applied\n to parent rows",
            "line": " src\\jsDataSet.js:2524"
        },
        {
            "message": "Missing item type\nnewDs",
            "line": " src\\jsDataSet.js:2673"
        },
        {
            "message": "Missing item type\nnewT",
            "line": " src\\jsDataSet.js:2680"
        },
        {
            "message": "Missing item type\nmerge any row present in dataset d. Rows are merged as unchanged if they are unchanged,\n otherwise their values are copied into existent dataset\n DataSet must have same table structure",
            "line": " src\\jsDataSet.js:2942"
        }
    ]
}