This class defines the public API of the WebGME-Core
- Source:
Type Definitions
Constraint
An object that represents some additional rule regarding some node of the project.
Type:
Properties:
Name | Type | Description |
---|---|---|
script |
string | The script which checks if the constraint is met. |
info |
string | Short description of the constraint. |
priority |
string | Gives instructions on how to deal with violations of the constraint. |
- Source:
DataObject
Inner data of module:Core~Node that can be serialized and saved in the storage.
Type:
- Source:
DefinitionInfo
Contains the owner and the target of the meta-rule that makes the relationship between the given node and related node a valid one. There can be multiple meta-rules that make the relationship valid, but this is the first one that answers the question isValidChildOf, isValidTargetOf etc.
Type:
Properties:
Name | Type | Description |
---|---|---|
ownerNode |
Core~Node | The meta-node where the meta-rule is stored. |
targetNode |
Core~Node | The meta-node the meta-rule is targeting. |
- Source:
GUID
Globally unique identifier. A formatted string containing hexadecimal characters. If some projects share some GUIDs that can only be because the node with the given identification represents the same concept.
Type:
- Source:
Example
'cd891e7b-e2ea-e929-f6cd-9faf4f1fc045'
GmePersisted
the result object of a persist which contains information about the newly created data objects.
Type:
Properties:
Name | Type | Description |
---|---|---|
rootHash |
module:Core~ObjectHash | Hash of the root node. |
objects |
object.<module:Core~ObjectHash, module:Core~DataObject> | Hash of the root node. |
- Source:
MixinViolation
An object that has information about a mixin violation in the given node.
Type:
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
severity |
string |
<optional> |
The severity of the given error ('error','warning'). |
type |
string |
<optional> |
'missing', 'attribute collision', 'set collision', 'pointer collision', 'containment collision', 'aspect collision', 'constraint collision' |
ruleName |
string | undefined |
<optional> |
The name of the affected rule definition (if available). |
targetInfo |
string | undefined |
<optional> |
The path of the target of the violation (if available). |
targetNode |
module:Core~Node | undefined |
<optional> |
The target node of the violation (if available). |
collisionPaths |
Array.<string> |
<optional> |
The list of paths of colliding nodes (if any). |
collisionNodes |
Array.<module:Core~Node> |
<optional> |
The colliding mixin nodes (if any). |
message |
string |
<optional> |
The description of the violation. |
hint |
string |
<optional> |
Hint on how to resolve the issue. |
- Source:
Examples
'{
'severity': 'error',
'type': 'missing',
'targetInfo': '/E/b',
'message': '[MyObject]: mixin node "E/b" is missing from the Meta',
'hint': 'Remove mixin or add to the Meta'
}'
'{
'severity': 'warning',
'type': 'attribute collision',
'ruleName': 'value',
'collisionPaths': ['/E/a','/E/Z'],
'collisionNodes': [Object,Object],
'message':'[MyObject]: inherits attribute definition "value" from [TypeA] and [TypeB]',
'hint': 'Remove one of the mixin relations'
}'
Node
the object that represents the atomic element of the containment hierarchy.
Type:
- Source:
ObjectHash
Unique SHA-1 hash for the node object.
Type:
- Source:
Example
'#5496cf226542fcceccf89056f0d27564abc88c99'
RelationRule
An object that represents a relational type rule-set (pointer/set).
Type:
Properties:
Name | Type | Attributes | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
min |
integer |
<optional> |
The minimum amount of target necessary for the relationship (if not present or '-1' then there is no minimum rule that applies) |
||||||||||||
max |
integer |
<optional> |
The minimum amount of target necessary for the relationship (if not present or '-1' then there is no minimum rule that applies) |
||||||||||||
absolutePathOfTarget |
object |
<optional> |
special rules regarding the given type (if the object is empty, it still represents that the type is a valid target of the relationship) Properties
|
- Source:
Example
'{
'min': 1,
'max': -1,
'any/path/of/node':{
'min':-1,
'max':2
},
'any/other/valid/path':{
}
}'